Salesforce Apex:ISO时间戳格式功能

时间:2013-08-31 17:10:31

标签: salesforce apex-code

我想知道是否有一个顶点日期或日期时间函数来格式化日期/时间到ISO格式的时间戳“2007-04-05T12:30-02:00”或者是否必须通过其他方式创建?

感谢。

2 个答案:

答案 0 :(得分:14)

在Apex中,您可以使用DateTime format(string dataFormat)format(string dataFormat, string timezone)方法。它接受一个dataFormat字符串,该字符串对应于Java简单日期格式。您需要为ISO 8601定义正确的格式。

另外,请考虑DateTime的时区。在下面的例子中,我使用了formatGMT来避免时区偏移。

System.debug(datetime.now().formatGMT('yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\''));

或者,您可以使用JSON序列化程序。

System.debug(json.serialize(datetime.now()));

答案 1 :(得分:0)

对于现在阅读本文的任何人,如果您想要时区,使用 Java SimpleDateFormat,您可以获得 +/-hh:mm 时区偏移值:

System.debug(datetime.now().format('yyyy-MM-dd\'T\'HH:mm:ss.SSSXXX', 'America/Los_Angeles'));

Output: 2021-01-15T17:30:22.735-08:00