java - 设置 XMLGregorianCalendar 的时区

标签 java

我有一个 XMLGregorianCalendar 实例,我需要将时区设置为“America/New_York”。该类有一个设置时区的方法。由于格林威治标准时间比东部时间早 4 小时,因此“America/New_York”时区是否这样设置?

gregorianCalendar.setTimezone(-4);

最佳答案

我最近提出了这个解决方案,并且对我来说效果很好。

Date date = format.parse(beginTime);

        GregorianCalendar cal = new GregorianCalendar();
        cal.setTime(date);

        XMLGregorianCalendar xmlGregCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);

        TimeZone timeZone = TimeZone.getTimeZone("America/New_York");
        int minutes = timeZone.getOffset(cal.getTimeInMillis()) / 1000 / 60;
        xmlGregCal.setTimezone(minutes);

关于java - 设置 XMLGregorianCalendar 的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62064907/

相关文章:

java - 如何访问 Eclipse 项目文件夹中的图像文件

java - 需要你帮助理解java编程概念

java - 双击 : zoom on Android MapView?

java - 当主应用程序和库中的资源文件夹具有相同名称时,如何加载资源?

java - Java 14或15中的字符串插值

java - 使用自定义主体参数名称改造 POST

java - 无法从 Dockerfile 构建 docker 镜像

java - RecyclerView 中的 MapView 内存泄漏

java - RMI 公开服务中的引用应该是 transient 的吗?

java - 在运行时从配置文件创建和扩展 JPA 实体类