我的日期时间值来自sas(10位数),看起来像1627741415.
我想在我的java代码中转换它们以生成Java日期时间YYYY-MM-dd HH:mm:ss.0
我无法找到SAS日期时间如何工作.
1627741415对应于2011年7月31日下午2:33:35.所以我希望它成为
2011-07-31 14:33:35.0.
任何帮助表示赞赏.
提前致谢
解决方法:
由于SAS datetime是一个值,表示1960年1月1日到指定日期之间的秒数.我想你可以使用与1970年以来的纪元时间的差异.
我使用代码进行了快速测试:
LocalDateTime dateTime = LocalDateTime.parse("2011-07-31T14:33:35.0");
System.out.println(dateTime.toString());
System.out.println(dateTime.toEpochSecond(ZoneOffset.UTC));
System.out.println(" Difference : "+ (1627741415 - dateTime.toEpochSecond(ZoneOffset.UTC) ));
你可以使用315618600的差异来计算你的日期.
所以说你有1627741415你减去315618600结束一个你可以在你的应用程序中正常使用的纪元日期.