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 楼答案
每个日期对象都有秒。它是否选择使用默认的
toString
实现来显示它们并不重要如果你想要一种特定的格式,你总是需要使用格式化程序如果想查看秒数,可以使用适当的格式化程序,或者设置断点并检查对象。查看任何
toString
任何任何的实现都不能保证显示任何有用的内容或表示实际的对象状态。对象可能只返回一个随机的日期字符串现在你可以使用
date
,这很好,它有秒