java-8 - 特定格式的本地日期时间 yyyy-MM-dd-HH.mm.ss.SSSSSS
问题描述
我正在尝试以某种格式为我的 spring 数据 jpa 实体列获取 LocalDateTime。
我没有得到毫秒/微秒的最后 3 位数字。我不确定到底该怎么称呼它。
即使我格式化,最后 3 个 SSS 部分我总是得到 000
final String YYYY_MM_DD_HH_MM_SS_SSSSSS = "yyyy-MM-dd-HH.mm.ss.SSSSSS";
ZonedDateTime zdtAtUtc = ZonedDateTime.now(ZoneId.of("UTC"));
LocalDateTime ldt = zdtAtUtc.toLocalDateTime();
DateTimeFormatter destFormatter = DateTimeFormatter.ofPattern(YYYY_MM_DD_HH_MM_SS_SSSSSS);
System.out.println(zdtAtUtc);
System.out.println(zdtAtUtc.format(destFormatter));
System.out.println(ldt);
输出
2019-07-30T15:23:18.232Z[UTC]
2019-07-30-15.23.18.232000
2019-07-30T15:23:18.232
解决方案
这是 Java 8 中的时钟精度。
如果您要检查 now() 方法的代码,它会使用如下所示的瞬间:
Instant now = clock.instant();
此刻在 Java 8 输出中:
2019-08-02T20:44:35.722Z
在以后的版本中:
2019-08-02T20:39:27.343408800Z
因此,如果您需要更高的精度,则需要切换到更新版本的 java。
推荐阅读
- javascript - 语义 UI,删除下拉菜单中的自动对焦
- sql - 在 Google BigQuery 中查找用户创建的客户旅程(渠道)
- algorithm - 给定一组数字和运算符,使用最少的操作数形成给定的数字
- python-3.x - 将windows相对路径转换为linux相对路径
- xml - 使用 PowerShell 删除 XML 中的子项
- html - 2页div上的CSS分页符
- cordova - IOS 错误的 IONIC3 - UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'attrib' of null
- c++ - 如何确保 boost::filesystem::remove 不会尝试删除另一个进程使用的文件?
- javascript - 用于使用订阅计划创建帐户的 MongoDb 架构
- node.js - 响应 readFile 上的两个文件数据 - 节点