有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将时间戳解析为LocalDateTime

我想将yyyy-MM-dd'T'HH:mm:ss形式的时间戳解析为LocalDateTime。这样做时,如果秒数为^{,则会将其剥离

As described here,我需要使用自定义格式化程序

LocalDateTime date = LocalDateTime.parse("2008-10-02T12:30:00");
DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");

String dateString = date.toString();
String dateFormatted = date.format(f);

System.out.println(dateString); // 2008-10-02T12:30

这一个有效,但它返回一个^{

System.out.println(dateFormatted); // 2008-10-02T12:30:00

当我将字符串解析为LocalDateTime时,它会再次剥离00

LocalDateTime dateLDT = LocalDateTime.parse(dateFormatted, f);
System.out.println(dateLDT); // 2008-10-02T12:30

那么,如何将日期解析为LocalDateTime,而不是String,并将00保留在末尾


共 (1) 个答案

  1. # 1 楼答案

    每个日期对象都有秒。它是否选择使用默认的toString实现来显示它们并不重要如果你想要一种特定的格式,你总是需要使用格式化程序

    如果想查看秒数,可以使用适当的格式化程序,或者设置断点并检查对象。查看任何toString任何任何的实现都不能保证显示任何有用的内容或表示实际的对象状态。对象可能只返回一个随机的日期字符串

    现在你可以使用date,这很好,它有秒