【发布时间】:2018-08-20 12:44:50
【问题描述】:
我正在尝试使用DateFormat 类和"dd/MM/yy' 'HH:mm:ss:SSS" 的格式模式来解析字符串"20/08/18 13:21:00:428"。时区设置为 BST。
上述返回的日期是正确的,但时间以08 的形式返回,而不是13 - "Mon Aug 20 08:21:00 BST 2018"
下面的sn -p 打印刚才提到的日期和时间:
String toBeParsed = "20/08/18 13:21:00:428";
DateFormat format = new SimpleDateFormat("dd/MM/yy' 'HH:mm:ss:SSS");
format.setTimeZone(TimeZone.getTimeZone("BST"));
Date parsedDate = format.parse(toBeParsed);
System.out.println(parsedDate);
这与我的时区有关还是我误解了模式?
【问题讨论】:
-
请添加语言标签
-
如果您显示产生意外结果的代码,我们可以为您提供更好的帮助。最好是a Minimal, Complete, and Verifiable example。
-
您使用的是老式的
Date类?我建议你避免这种情况。它早已过时,而且设计总是很糟糕。今天我们在java.time, the modern Java date and time API 的表现要好得多。
标签: java time hour datetime-parsing