Java中的不同时区
How to get date based on the different time zone in java 1.7 ?
AST
EST
CST
MST
PST
AKST
HAST
我已经分析了API。根据我的理解,我们需要传递日期格式/城市来获取时间,请参考下面给出的示例代码来获取EST
static DateTimeFormatter etFormat = DateTimeFormatter.ofPattern("MM/dd/yyyy 'at' hh:mma 'ET'");
static ZoneId etZoneId = ZoneId.of("America/New_York");
ZonedDateTime currentETime = currentISTime.withZoneSameInstant(etZoneId);
我需要通过日期格式和城市来获取时间吗?有没有根据时区来计算时间的通用方法
# 1 楼答案
真实时区
EST、IST、PST、CST等2-4个字母的缩写是而不是时区。它们只是给出了时区的线索,并指出是在标准时间还是夏令时(DST)。它们没有标准化。它们甚至不是独一无二的!永远不要使用这些,不要再去想它们
有关
Continent/Region
格式的真实时区名称列表,请参见维基百科您的示例代码几乎是正确的
对于UTC中看到的同一时刻,提取一个
Instant
适应印度时间
要生成本地化字符串,请使用
DateTimeFormatter.ofLocalized…
关于堆栈溢出,已经讨论过数百次了。搜索更多信息
三个十后端口
如果您的问题是关于如何在使用上述Java 7时执行此类代码,那么解决方案是来自Three Ten Backport项目的库。你会发现大部分的java。时间功能与几乎相同的API