当前位置: 首页 > 面试题库 >

用Java输出RFC 3339时间戳

潘青青
2023-03-14
问题内容

我想输出带有PST偏移量的时间戳(例如2008-11-13T13:23:30-08:00)。java.util.SimpleDateFormat似乎没有以
hour:minute 格式输出时区偏移量,但排除了冒号。有没有一种简单的方法来获取Java中的时间戳?

// I want 2008-11-13T12:23:30-08:00
String timestamp = new SimpleDateFormat("yyyy-MM-dd'T'h:m:ssZ").format(new Date());
System.out.println(timestamp); 
// prints "2008-11-13T12:23:30-0800" See the difference?

另外,SimpleDateFormat无法正确解析上述示例。它抛出一个ParseException

// Throws a ParseException
new SimpleDateFormat("yyyy-MM-dd'T'h:m:ssZ").parse("2008-11-13T13:23:30-08:00")

问题答案:

从Java
7开始,X提供了ISO8601时区的模式字符串。对于您描述的格式的字符串,请使用XXX。请参阅文档。

样品:

System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssXXX")
        .format(new Date()));

结果:

2014-03-31T14:11:29+02:00


 类似资料:
  • 我正在开发一个待办事项列表程序。 我想让用户可以输入日期、时间和关于。我已经知道日期了。我错过的是时间。 但我有很多例外。我错过了什么吗?

  • 本文向大家介绍Java输入输出流复制文件所用时间对比,包括了Java输入输出流复制文件所用时间对比的使用技巧和注意事项,需要的朋友参考一下 废话不多说,关键代码如下所述: 测试文件是

  • 问题内容: 我正在尝试获取传出数据包的准确时间戳(使用原始套接字发送)。根据,“对于发送时间戳,传出的数据包将被附加到发送时间戳上并循环回套接字的错误队列。可以使用recvmsg(flags = MSG_ERRQUEUE)进行接收。” 不幸的是,在原始套接字上调用时总是返回(用和设置为with 来创建)。我究竟做错了什么?是否有更好的方法来获取传出数据包的准确时间戳? 附录(信息): 我还尝试从通

  • 编辑问题以包括所需的行为、特定的问题或错误,以及重现问题所需的最短代码。这将帮助其他人回答这个问题。 我正在做一个待办事项列表程序。 我想让用户可以输入日期、时间和关于。我已经有日期了。我缺少的是时间。 但我有很多例外。我有什么遗漏吗?

  • 问题内容: 假设我有一个代码,要求用户提供一些输入,例如: 但是我想给用户60秒的时间限制,然后抛出一个异常(在这种情况下,我认为是)。我怎么做? 问题答案:

  • 我在一个Kafka主题“原始数据”中获取CSV,目标是通过在另一个主题“数据”中发送具有正确时间戳(每行不同)的每行来转换它们。 null 我想通过直接设置时间戳来删除这个“内部”主题的使用,但我找不到一个方法(时间戳提取器只在消耗时间使用)。 我在文档中偶然发现了这一行: 请注意,通过调用#forward()时显式地为输出记录分配时间戳,可以在处理器API中更改description默认行为。