首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析日期有极小的差别

解析日期有极小的差别
EN

Stack Overflow用户
提问于 2012-11-07 13:06:11
回答 2查看 112关注 0票数 0

因此,我试图用Java解析一个日期字符串。我得到了正确的时间回来,但分钟似乎是在5-10左右。我在下面显示我的代码以及输入字符串和日期对象toString()输出。

你知道我哪里出错了吗?这是在安卓系统上,所以我不想使用JodaTime。

代码语言:javascript
复制
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSS'Z'"); 

Date date = sdf.parse(input);

return date;

输入字符串= 2012-11-07T12:47:05.0581816Z 日期toString() =11月7日12:56:46 GMT 2012 (毫秒= 1352293006816)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-07 13:12:26

您正在尝试将具有微秒精度的日期解析为毫秒精度。

0581816是加到时间12:47:05的毫秒数,而不是小数点的秒数。

由于毫秒以下的精度不能用java.util.Date表示,所以最简单的选项是截断小数并调整日期格式,如下所示:

代码语言:javascript
复制
final DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
String input = "2012-11-07T12:47:05.058234234Z";
input = input.replaceFirst("(?<=\\.\\d{3})\\d+", "");
System.out.println(input);
System.out.println(sdf.parse(input));
票数 3
EN

Stack Overflow用户

发布于 2012-11-07 13:20:18

请确保在将字符串转换为日期对象时使用相同的时区,反之亦然。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13270403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档