c#怎么实现儒略日与公历日期的相互转换
答案:1 悬赏:40 手机版
解决时间 2021-03-29 01:43
- 提问者网友:皆是孤独
- 2021-03-28 18:53
c#怎么实现儒略日与公历日期的相互转换
最佳答案
- 五星知识达人网友:西风乍起
- 2021-03-28 20:00
///
/// 产生日期的Julian day
///
/// 年
/// 月
/// 日
///Julian day
private long julian ( int year, int month, int day )
{
long jy = year, jm = month, jd = day;
if (jy < 0)
{
jy = jy + 1;
}
if (month > 2)
{
jm = jm + 1;
}
else
{
jm = jm + 13;
jy = jy - 1;
}
long jul = Convert.ToInt64 (Math.Floor (365.25 * jy) + Math.Floor (30.6001 * jm) + jd + 1720995.0);
if (jy < 1582 && jm < 10 && jd < 15)
{
return jul;
}
else
{
long ja = Convert.ToInt64 (0.01 * jy);
jul = Convert.ToInt64 (jul + 2 - ja + 0.25 * ja);
return jul;
}
}追问这个生成的是7位的儒略日,不是6位的追答你看着逻辑改改呗,一个意思嘛。
这是我去抄的,具体怎么算我也得看。
/// 产生日期的Julian day
///
/// 年
/// 月
/// 日
///
private long julian ( int year, int month, int day )
{
long jy = year, jm = month, jd = day;
if (jy < 0)
{
jy = jy + 1;
}
if (month > 2)
{
jm = jm + 1;
}
else
{
jm = jm + 13;
jy = jy - 1;
}
long jul = Convert.ToInt64 (Math.Floor (365.25 * jy) + Math.Floor (30.6001 * jm) + jd + 1720995.0);
if (jy < 1582 && jm < 10 && jd < 15)
{
return jul;
}
else
{
long ja = Convert.ToInt64 (0.01 * jy);
jul = Convert.ToInt64 (jul + 2 - ja + 0.25 * ja);
return jul;
}
}追问这个生成的是7位的儒略日,不是6位的追答你看着逻辑改改呗,一个意思嘛。
这是我去抄的,具体怎么算我也得看。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯