java - 如何在 Java 中将 "yyDHH"格式的 Julian 转换为 Date

标签 java date simpledateformat julian-date

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/

相关文章:

java - JdbcRowSet 无法识别 MariaDB 驱动程序

java - 如果主题不存在,Kafka 生产者会挂起

Java - 将 int 转换为字节数组而不考虑符号

java - 多态性和动态绑定(bind)

Java解析部分日期

java - 将日期和时间读写到 CSV 文件中

Java 7 DateFormat 将 UTC 日期解析为本地日期

python - PySpark 不会转换时间戳

java - java中如何获取两个日期之间的天数?

Java SimpleDateFormat ParseException 模式似乎匹配