当前位置: 首页 > 知识库问答 >
问题:

将时间戳解析为LocalDateTime

凌博实
2023-03-14
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个答案

孔瑾瑜
2023-03-14

您应该期望在以下两个方面的输出不同

LocalDateTime dateLDT = LocalDateTime.parse(dateFormatted, f);
System.out.println(dateLDT);

System.out.println(dateLDT.format(f)) //or f.format(dateLDT)

system.out.println(dateLDT);打印dateLDT.tostring()的值,预计该值不会产生与模式相同的输出。

public String toString() {
    ...
    if (secondValue > 0 || nanoValue > 0) {
        buf.append(secondValue < 10 ? ":0" : ":").append(secondValue);
        ...
        }
    }
    return buf.toString();
}
 类似资料:
  • 问题内容: 我想以as 的形式解析时间戳。这样做时,如果秒是秒,它将去除秒。 如此处所述,我需要使用自定义格式化程序 这个可以用,但是返回一个: 当我解析字符串时,它再次剥离: 那么如何将日期解析为,而不是,并将日期保留在末尾? 问题答案: 您应该期望输出之间的差异 和 打印的值,预计不会产生与图案相同的输出。 当您查看时,您会看到它将时间部分委托给,这将有条件地显示秒: 如果其值为,则仅忽略秒字

  • 问题内容: 我正在尝试解析Unix时间戳,但超出范围错误。这对我来说真的没有意义,因为布局正确(如Go文档中所示): play 问题答案: 该函数不执行Unix时间戳。相反,您可以使用来解析字符串,并使用创建时间戳: 输出: play: http : //play.golang.org/p/v_j6UIro7a 编辑: 从更改为,以避免32位系统上的int溢出。

  • 假设我有一个时间戳值。 编辑 现在我正在使用获取上述时间的毫秒值; 根据Java文档,getTime()方法的定义是

  • 问题内容: 我有一个毫秒本地本地时间戳,我想将其转换为毫秒本地UTC时间戳。快速浏览一下文档,看起来像这样工作: 有一个更好的方法吗? 问题答案: 使用a 来获取本地纪元处的偏移量,然后将其添加到本地纪元时间戳中。

  • 我试图找出如何在Kotlin中将转换为,这在Java中非常简单,但我在Kotlin中找不到任何等效的。 例如:历元时间戳(1970-01-01以来的秒数)== 在Kotlin中是否有解决方案,或者我是否必须在Kotln中使用Java语法?请给我一个简单的例子来说明如何解决这个问题。提前谢谢。 这个链接不是我问题的答案

  • 如果本地时间位于UTC时区,那么如何将转换为Unix时间戳? >。