我在http://www.rgagnon.com/javadetails/java-0506.html上看过"解决方案" ,但它无法正常工作.例如,昨天(6月8日)应该是159,但它说它是245.
那么,有人在Java中有一个解决方案来获取当前日期的三位数朱利安日(不是朱利安日期 - 我需要今年的这一天)吗?
谢谢!标记
Julian Day Numbers是一种将时间戳表示为自公元前4713年1月1日中午UTC以来连续天数(和小数天数)的方法.Java 7 SE API不包含对此格式的支持.使用过SQLite数据库的开发人员可能使用了strftime()函数提供的本机Julian Day支持.
将时间戳表示为Julian Day Numbers的优点包括:
缺点
朱利安日数通常用于天文计算,其定义高度标准化并被接受.同样,修改后的朱利安日数(从1858年11月17日午夜开始计算)是标准定义并用于航空航天应用(见http://tycho.usno.navy.mil/mjd.html).
对于广泛使用日期/时间算法或按时间顺序排序的应用程序(或者如果持久化轻量级基元比持久化时间戳更具吸引力),在内部将日期和时间表示为JDN或MJD可能对您有意义.
以下代码定义了有助于将Julian Day Numbers或Modified Julian Day Numbers与Java Date/Time/Calendar API一起使用的函数.该代码基于Jean Meeus的"Astronomical Algorithms",第1版,1991年发表的算法.
public class JulianDay {
private static final int YEAR = 0;
private static final int MONTH = 1;
private static final int DAY = 2;
private static final int HOURS = 3;
private static final int MINUTES = 4;
private static final …Run Code Online (Sandbox Code Playgroud)