我有下面的代码:Java时区 - 与IST的奇怪行为?
DateFormat df = new SimpleDateFormat("M/d/yy h:mm a z");
df.setLenient(false);
System.out.println(df.parse("6/29/2012 5:15 PM IST"));
假设我现在我的电脑的时区设置为太平洋时间(UTC-7 PDT),这个打印
周五6月29日8点15分00秒PDT 2012
是不是PDT比IST(印度标准时间)少12.5小时?这个问题不会发生在任何其他时区 - 我在日期字符串中尝试了UTC,PKT,MMT等而不是IST。 Java中有两个IST有可能吗?
P.S:实际代码中的日期字符串来自外部源,所以我不能使用GMT偏移量或任何其他时区格式。
据我所知,有几个IST。根据时差(9小时)判断,你可能已经获得了以色列标准时间。 – biziclop
@biziclop我想过这个。但是,让我远离的是: 'System.out.println(TimeZone.getTimeZone(“IST”)。getRawOffset());' 这打印19800000或5.5小时,这表明它确实是印度人标准时间。或者它是否捡起了具有相同ID“IST”的许多时区中的第一个?如果是这样,如果某件事物在许多事情上都是相同的,又怎么能成为“身份证”呢? – Vasan
@esej这更可能是时区缩写中的一个模棱两可的问题:http://en.wikipedia.org/wiki/List_of_time_zone_abbreviations – biziclop