matlab儒略日转日期,将日期(年、月、日)转换为儒略日编号并返回日期

本文档提供了一个C#代码示例,用于将日期转换为儒略日数以及将儒略日数转换回日期。作者遇到的问题是转换回日期时,结果相差一天。代码中涉及到闰年的计算和四舍五入的方法,作者考虑使用Math.Ceiling来修正可能的误差。
摘要由CSDN通过智能技术生成

我尝试实现两个功能:1)将日期转换为儒略日数;2)将儒略日数转换回日期(年、月和日)。我的代码返回的结果是关闭了一天。我不熟悉算法的工作原理,但是如果我使用

Math.Ceiling

朱利安数的工作,但我不确定这是最好的方法来修复代码。任何帮助都将不胜感激。谢谢您。

public class Program

{

///

/// Converts year, month and day to a Julian number

///

///

///

///

///

public static decimal JulianNumber(int year, int month, int day)

{

decimal a, b, c, e, f;

if (month == 1 || month == 2)

{

year -= 1;

month += 12;

}

a = Math.Truncate((decimal) year / 100);

b = Math.Truncate(a / 4);

c = 2 - a + b;

e = Math.Truncate((365.25m * (year + 4716)));

f = Math.Truncate((30.6001m * (month + 1)));

return (c + day + e + f - 1524.5m);

// return Math.Ceiling(c + day +

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值