【发布时间】:2018-12-20 07:46:29
【问题描述】:
面对一个问题,我试图将字符串值解析为日期,当我尝试执行 date.getTime() 时,我得到了负值。
这是我正在解析的字符串“01:00:07”。 这是我得到“Thu Jan 01 01:00:07 GMT+05:30 1970”的日期对象中的值。 仍然在 getTime() 我得到负值“-16193000”
实现这一点的代码:
long sum = 0;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("hh:mm:ss");// I have also tried "HH:mm:ss" format. it gives same result
Date date = simpleDateFormat.parse(duration);//duration is "01:00:07"
sum= date.getTime();
【问题讨论】:
-
sum 的数据类型是什么?希望你能坚持这么久
-
sum的数据类型是long
-
你在哪个时区?
-
Date和持续时间是两个完全不同的野兽。您的问题是您误用了另一个。参见例如Java 8 Time API: how to parse string of format “mm:ss” to Duration? -
仅供参考,
java.util.Date、java.util.Calendar和java.text.SimpleDateFormat等麻烦的旧日期时间类现在已被 java.time 类所取代。大多数 java.time 功能在 ThreeTen-Backport 项目中被反向移植到 Java 6 和 Java 7。进一步适用于ThreeTenABP 中的早期 Android (How to use ThreeTenABP…。
标签: android date simpledateformat datetime-format