鉴于此代码...
String date = "11:00 AM";
SimpleDateFormat sdf = new SimpleDateFormat("h:mm a");
sdf.setTimeZone(TimeZone.getTimeZone("US/Eastern")); // --> should be GMT-4
TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
Date parse = sdf.parse(date); // -- gives Thu Jan 01 16:00:00 GMT 1970
为什么日期解析给我的是 16:00 而不是 15:00?
最佳答案
您不能使用 java.util.Date
来仅存储时间。它将分配 1970 年,这在某些情况下是不正确的。我建议为此使用 org.joda.time.LocalTime
。
关于java - Java中的日期时间解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359096/