将SAS日期时间值转换为Java YYYY-MM-DD HH:mm:ss

我的日期时间值来自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结束一个你可以在你的应用程序中正常使用的纪元日期.

上一篇:SAS学习笔记50 SAS数据集索引


下一篇:linux kptr_restrict使用