【发布时间】:2017-11-23 10:54:36
【问题描述】:
我知道这个问题已经被问过好几次了,我冒着被否决/重复关闭的风险,但是这里发布的大多数问题都是通过将 YYYY 链接到 yyyy 解决的。所以,搜索并没有真正的帮助:/
这些是块内给定的时间戳
date new Block: 2017-11-02T06:17:05.079481
date old Block: 2017-11-02T06:17:04.608960
我的转换代码:
public static Date getDate(JSONObject block){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS");
try {
return sdf.parse(block.get("timestamp").toString());
} catch (ParseException e) {
e.printStackTrace();
return new Date(0);
}
}
这是解析的结果
date new block: Thu Nov 02 06:18:24 KST 2017
date old block: Thu Nov 02 06:27:12 KST 2017
这怎么可能?如时间戳所示,新块是在旧块之后创建的。但现在情况正好相反
【问题讨论】:
-
月份中的某天用小写的
d表示 -
使用 dd 代替
DD -
搜索“How to use SimpleDateFormat Java"”会有所帮助。
-
我更新了问题
-
SSS是毫秒。您正在尝试解析微秒。您可以改用 java.time.* 吗?
标签: java parsing time simpledateformat