对于 8601 的日期时间转换,我遵循了这个SO 答案。
我将直接从 w3举一个例子:
1994-11-05T08:15:30-05:00 corresponds to November 5, 1994, 8:15:30 am, US Eastern Standard Time.
1994-11-05T13:15:30Z corresponds to the same instant.
这就是我在android中运行的
SimpleDateFormat sdfSource = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ");
dateTime = sdfSource.parse("2014-03-06T11:30:00-05:00");
System.out.println(dateTime); //Thu Mar 06 18:30:00 EET 2014
显然.parse()的输出是本地感知的日期时间。自从我在这个时区以来,已经从EST
(-05:00) 转换为(+02:00)。EET
但是我不想要这种自动转换。
有没有办法以yyyy-MM-dd'T'HH:mm:ssZZZZZ
格式解析日期时间字符串并显示该时区的日期时间?优选输出:
Thu Mar 06 11:30:00 EST 2014
和我的EST
位置就是一个例子。它也可以是任何其他时区。