java - Java中的日期时间解析

标签 java date timezone

鉴于此代码...

 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/

相关文章:

java - 连接池会让oracle session 保持 Activity 状态吗?

java - Android Mysql从表中获取特定数据

SQL 计数日期范围

c# - .Net 中有 ZonedDateTime (Java) 吗?

java - 使用setParameter或setParametrList删除数据HQL奇怪

java - 父类(super class)方法需要引用它的另一个(尽管被覆盖)方法

javascript - 如何使用 JavaScript 以特定格式显示 Date 对象?

java - 使用 Boolean 类方法比较两个 Date 对象

php - 应用多个时区的最佳方式是什么?

iphone - 判断当前本地时间是否在两个时间之间(忽略日期部分)