本地日期到UTC的转换



我正在尝试将系统本地日期转换为UTC。下面是我的代码,它看起来适用于MST和EST格式。但是,它并没有如预期的那样发挥作用。

String inputDate = "Wed Apr 13 04:00:00 IST 2022";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
Date date = sdf.parse(inputDate);
DateFormat formatUTC = new SimpleDateFormat("MM/dd/yyyy");
formatUTC.setTimeZone(TimeZone.getTimeZone("UTC"));
String result = formatUTC.format(date); 
System.out.print(result); // 04/13/2022

我看到IST区域比UTC世界时提前5小时30分钟。因此,对于给定的输入,我应该得到04/12/2022。但是,得到04/13/2022。我在这里做错了什么?请告知。

也尝试为inputDate设置时区。尝试以下代码:

String inputDate = "Wed Apr 13 04:00:00 IST 2022";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Kolkata"));
Date date = sdf.parse(inputDate);
DateFormat formatUTC = new SimpleDateFormat("MM/dd/yyyy");
formatUTC.setTimeZone(TimeZone.getTimeZone("UTC"));
String result = formatUTC.format(date);
System.out.print(result);

看看这个答案。

相关内容

  • 没有找到相关文章

最新更新