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