gpt4 book ai didi

java - 在 Java 中将 UTC 时间转换为 IST 时间在 LOCAL 中有效,但在 CLOUD SERVER 中无效

转载 作者:搜寻专家 更新时间:2023-10-31 20:00:51 25 4
gpt4 key购买 nike

我在 Java 中进行日期转换,因为我使用以下代码片段将 UTC 时间转换为 IST 格式。当我运行它时它在本地正常工作但是当我将它部署到服务器时它没有转换,它仅显示 utc 时间本身。服务器端是否需要任何配置。请帮助我。

代码片段:

   DateFormat sdf = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
String pattern = "dd-MM-yyyy HH:mm:ss";
SimpleDateFormat formatter;
formatter = new SimpleDateFormat(pattern);

try {
String formattedDate = formatter.format(utcDate);
Date ISTDate = sdf.parse(formattedDate);
String ISTDateString = formatter.format(ISTDate);
return ISTDateString;
}

最佳答案

Java Date 对象已经/总是采用 UTC。时区是在格式化文本时应用的东西。 Date 不能(不应该!)位于 UTC 以外的任何时区。

因此,将 utcDate 转换为 ISTDate 的整个概念是有缺陷的。
(顺便说一句:名字不好。Java 约定应该是 istDate)

现在,如果您希望代码以 IST 时区的文本形式返回日期,那么您需要请求:

DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
formatter.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata")); // Or whatever IST is supposed to be
return formatter.format(utcDate);

关于java - 在 Java 中将 UTC 时间转换为 IST 时间在 LOCAL 中有效,但在 CLOUD SERVER 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35127299/

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