JAVA SimpleDateFormat returns wrong format(Java SimpleDateFormat返回错误格式)
问题描述
我需要转换一个简单的字符串,例如:
30.06.2017 18:00
为日期,但我设置的简单日期格式不适用。出于某种原因,它会给出这样的输出
UTC 2017年6月5日18:00:00
我知道关于这个问题还有其他问题,但我认为我肯定我正确地遵循了所有的说明, 我设置了正确的格式,奇怪的是,我在另一个地方使用了相同的代码,它运行得很好。 我尝试使用Locale.ENGLISH部分和"Strong"属性。 看起来NetBeans真的在骗我非常感谢
System.out.println(newtoday);
给予
"30.06.2017 18:00";
然后我尝试将其格式化:
try {
thedate = new SimpleDateFormat("dd.MM.yyyy HH:mm").parse(newtoday);
System.out.println(thedate);
} catch (ParseException ex) {
Logger.getLogger(frame1.class.getName()).log(Level.SEVERE, null, ex);
}
输出为
Fri Jun 30 18:00:00 UTC 2017
感谢DPR的答复,但问题不在"输出"
我所做的是:
收集jfreechart的时间序列:
我有一个日期列表要解析并添加,可以很好地工作
Date thedate=null;
try {
thedate = new SimpleDateFormat("dd.MM.yyyy HH:mm", Locale.ENGLISH).parse(time);
} catch (ParseException ex) {
Logger.getLogger(frame1.class.getName()).log(Level.SEVERE, null, ex);
}ts1.add(new Millisecond(thedate), ap);
, 但是时间序列的最后一个元素有不同的格式,这就是为什么我必须格式化它,它可以获得正确格式的字符串(NewToday)
现在,在我格式化日期后,我再次使用
ts1.add(new Millisecond(thedate), apt);
但它不会添加到系列
现在我认为问题出在addtotimesSeries无法识别的日期格式,
如果你说这不是格式..您是否看到另一个错误?
干杯
推荐答案
您使用
输出日期System.out.println(thedate);
这不使用您用来解析日期的日期格式,而是使用java.util.Date
的toString()
方法。这就是为什么您会看到日期以不同于预期的格式打印。
要使用日期格式进行解析和输出,请执行如下操作:
DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm");
Date thedate = dateFormat.parse(newtoday);
System.out.println(dateFormat.format(thedate));
这篇关于Java SimpleDateFormat返回错误格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Java SimpleDateFormat返回错误格式


基础教程推荐
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 降序排序:Java Map 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01