yy = 15(年),D = 150(一年中的某一天),HH = 10(小时)
Date myDateWrong = new SimpleDateFormat("yyDHH").parse("1515010");
Date myDateTrue = new SimpleDateFormat("yyD").parse("15150");
myDateTrue 是正确的:30/05/2015。 myDateWrong 必须是 30/05/2015 10:00:00 但似乎是 28/07/2015 18:00:00。这里有什么问题吗?
最佳答案
我猜测错误的日期采用了月份的一位数字(如您所指定的),然后采用了小时的其余数字(就像它采用了朱利安日期的其余数字一样)原始格式)。所以您有 2015 年 1 月 5010 小时。我没有详细计算过,但 5010 小时大约相当于 7 个月,这可以解释为什么会在 7 月结束。 18:00 小时仅反射(reflect)剩余的时间。
因此,您需要使用 DDD 作为儒略日的说明符(而不是另一条评论中建议的 ddd),然后它就会按预期出现。
关于java - 如何在 Java 中将 "yyDHH"格式的 Julian 转换为 Date,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30439571/