java - Java IST时间与EST时间换算

标签 java datetime datetimeoffset

我在 Java 中有一个 IST 时间的日期字段。我想将其转换为 EST 时间,并且输出应仅作为日期类型。我可以使用下面的代码完成相同的任务:-

SimpleDateFormat dateTimeFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
dateTimeFormat.setTimeZone(TimeZone.getTimeZone("Asia/Calcutta"));
Date date = new Date();
DateFormat timeFormat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
timeFormat.setTimeZone(TimeZone.getTimeZone("America/New_York"));
String estTime = timeFormat.format(date);
date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss", Locale.ENGLISH).parse(estTime);

上述代码的问题在于,虽然日期已转换为 EST 时间,但时区仍然显示为 IST 而不是 EST。日期的其余部分转换得很好。有没有办法在日期字段中明确将时区设置为 EST。我们将非常感谢任何有关此问题的帮助。

-Subhadeep

最佳答案

Date 类与时区无关。基本上,它始终基于 GMT,尽管在打印时它使用当前系统时区来调整它。

但是,日历 是特定于时区的。请参阅Calendar.setTimeZone() .

考虑:

   Calendar cal = new GregorianCalendar();
   cal.setTimeZone(TimeZone.getTimeZone("America/New_York"));
   cal.setTime(new Date());

关于java - Java IST时间与EST时间换算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15477091/

相关文章:

java - 使用java连接到互联网

c# - 在 C# 中解析 DateTimeOffset 字符串

sql - 如何在 SQL Server 中将 DateTime 值迁移到 DateTimeOffset?

java - 将具有给定偏移量的日期时间转换为 UTC Java

javascript - 如何在Java中使用AJAX?

java - 来自 Action 处理程序的 "Cannot refer to a non-final variable"?

java - NatTable-设置动态列宽

Python strftime 德语日期字符串

sql - 在 T SQL 中向日期添加月份

PHP 日期让我很沮丧