Java timezone - strange behavior with IST?(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"));
假设我现在将 PC 的时区设置为太平洋时间(PDT 为 UTC-7),这将打印出来
Assuming I now set my PC's timezone to Pacific Time (UTC-7 for PDT), this prints
2012 年 6 月 29 日星期五 08:15:00 PDT
Fri Jun 29 08:15:00 PDT 2012
PDT 不是比 IST(印度标准时间)晚 12.5 小时吗?任何其他时区都不会出现此问题 - 我在日期字符串中尝试了 UTC、PKT、MMT 等而不是 IST.Java中是否有两个IST?
Isn't PDT 12.5 hours behind IST (Indian Standard Time)? This problem does not occur for any other timezone - I tried UTC, PKT, MMT etc instead of IST in the date string. Are there two ISTs in Java by any chance?
P.S:实际代码中的日期字符串来自外部来源,所以我不能使用 GMT 偏移量或任何其他时区格式.
P.S: The date string in the actual code comes from an external source, so I cannot use GMT offset or any other timezone format.
推荐答案
对不起,我必须为此写一个答案,但试试这个代码:
Sorry, I have to write an answer for this, but try this code:
public class Test {
public static void main(String[] args) throws ParseException {
DF df = new DF("M/d/yy h:mm a z");
String [][] zs = df.getDateFormatSymbols().getZoneStrings();
for( String [] z : zs ) {
System.out.println( Arrays.toString( z ) );
}
}
private static class DF extends SimpleDateFormat {
@Override
public DateFormatSymbols getDateFormatSymbols() {
return super.getDateFormatSymbols();
}
public DF(String pattern) {
super(pattern);
}
}
}
您会发现 IST 在列表中出现了好几次,第一个确实是以色列标准时间.
You'll find that IST appears several times in the list and the first one is indeed Israel Standard Time.
这篇关于Java 时区 - IST 的奇怪行为?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Java 时区 - IST 的奇怪行为?
基础教程推荐
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 降序排序:Java Map 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01