如何在 java simpledateFormat 上保留毫秒数据
How to preserve milisecond data on java simpledateFormat
基本上我正在尝试将字符串数据转换为时间戳格式。当我将数据转换为时间戳格式时,SimpleDateFormat 添加了三分钟。
因为毫秒数据等于 3 minute.But 我想保留时间戳值上的毫秒数据。
代码:
public Double TimestampTest(String Timestamp ){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date parsedDate = null;
try {
parsedDate = dateFormat.parse(Timestamp);
} catch (ParseException e1) {
e1.printStackTrace();
}
Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());
...
}
时间戳值
2002-04-17 23:45:58.983
对于测试用例
System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse("2015-04-22T19:54:11.219983Z"));
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS'Z'").parse("2015-04-22 19:54:11.219983Z"));
两者的结果相同
Wed Apr 22 19:57:50 EEST 2015
Wed Apr 22 19:57:50 EEST 2015
因为
219 983 milliseconds = 3.66638333 minutes
综上所述,我想保留 ms 数据。有什么办法可以做到吗?
据我了解,字符串末尾的是微秒,而不是毫秒。旧的、过时的 Date 和 SimpleDateFormat 类 不支持微秒。但是你可以使用新的 java.time 类:
System.out.println(ZonedDateTime.parse("2015-04-22T19:54:11.219983Z",
DateTimeFormatter.ofPattern(("yyyy-MM-dd'T'HH:mm:ss.SSSSSSVV"))));
基本上我正在尝试将字符串数据转换为时间戳格式。当我将数据转换为时间戳格式时,SimpleDateFormat 添加了三分钟。 因为毫秒数据等于 3 minute.But 我想保留时间戳值上的毫秒数据。
代码:
public Double TimestampTest(String Timestamp ){
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date parsedDate = null;
try {
parsedDate = dateFormat.parse(Timestamp);
} catch (ParseException e1) {
e1.printStackTrace();
}
Timestamp timestamp = new java.sql.Timestamp(parsedDate.getTime());
...
}
时间戳值
2002-04-17 23:45:58.983
对于测试用例
System.out.println(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse("2015-04-22T19:54:11.219983Z"));
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS'Z'").parse("2015-04-22 19:54:11.219983Z"));
两者的结果相同
Wed Apr 22 19:57:50 EEST 2015
Wed Apr 22 19:57:50 EEST 2015
因为
219 983 milliseconds = 3.66638333 minutes
综上所述,我想保留 ms 数据。有什么办法可以做到吗?
据我了解,字符串末尾的是微秒,而不是毫秒。旧的、过时的 Date 和 SimpleDateFormat 类 不支持微秒。但是你可以使用新的 java.time 类:
System.out.println(ZonedDateTime.parse("2015-04-22T19:54:11.219983Z",
DateTimeFormatter.ofPattern(("yyyy-MM-dd'T'HH:mm:ss.SSSSSSVV"))));