gpt4 book ai didi

java - 格式化 XML 的日期以包含 UTC 偏移量

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:01:21 25 4
gpt4 key购买 nike

我正在生成一个包含有效 XML 格式日期的 XML,我还需要它包含一个 UTC 偏移量。

我正在使用 groovy 但我会展示我正在使用的 Java 代码(用任何一种语言回答都很好):

Calendar c = Calendar.getInstance();  
long timeZoneOffset = c.timeZone.getOffset(c.getTimeInMillis())/(1000*60*60);
SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
formatter.format(c.getTime()) + "+0" + timeZoneOffset + ":00";

上面的代码给了我 2011-06-12T07:23:25.000+03:00,但是这段代码有两个问题:

  1. 这很丑陋,而且可能不是最好的方法
  2. 它不适用于印度(GMT +5:30)、尼泊尔(GMT +5:45)

我尝试使用 new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss Z") 作为时区,但它给了我 2011-06-12T07: 23:25.000+0300 格式不正确(+0300 而不是 +03:00)。

还有其他方法可以按照我需要的方式格式化日期吗? (最好没有第 3 方)

最佳答案

另一种选择——也埋在 jaxb api 中——(不需要 Jodatime):

    Calendar c = ...
String printDate = javax.xml.bind.DatatypeConverter.printDateTime(c);

HTH

关于java - 格式化 XML 的日期以包含 UTC 偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6320183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com