JAVA SimpleDataFormat返回错误的格式
我需要转换一个简单的字符串,例如: 2017年6月30日18:00 但我设置的simpledateformat不适用。出于某种原因,它给出这样的输出 2017年6月30日星期五18:00:00 UTC 我知道关于这个问题还有其他问题,但我想我肯定我正确地遵循了所有的指示, 我设置了正确的格式,奇怪的是,我在另一个地方使用了相同的代码,效果很好。 我尝试使用locale.ENGLISH部分和“strict”属性。。 看起来netbeans真的在欺骗我 非常感谢你JAVA SimpleDataFormat返回错误的格式,java,simpledateformat,Java,Simpledateformat,我需要转换一个简单的字符串,例如: 2017年6月30日18:00 但我设置的simpledateformat不适用。出于某种原因,它给出这样的输出 2017年6月30日星期五18:00:00 UTC 我知道关于这个问题还有其他问题,但我想我肯定我正确地遵循了所有的指示, 我设置了正确的格式,奇怪的是,我在另一个地方使用了相同的代码,效果很好。 我尝试使用locale.ENGLISH部分和“strict”属性。。 看起来netbeans真的在欺骗我 非常感谢你 System.
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
谢谢你的回答,但问题不是“输出” 我所做的是: 收集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);
,,
但是timesiries的最后一个元素有一个不同的格式,这就是为什么我必须对它进行格式化,这样可以获得正确格式的字符串(newtoday)
现在,在我格式化日期之后,我再次使用
ts1.add(new Millisecond(thedate), apt);
但这并没有增加这一系列的内容
现在我认为问题在于addtotimeseries无法识别日期格式
如果你说这不是格式。。你看到另一个错误了吗
干杯您可以使用
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));
我认为您需要为代码片段添加更多上下文。从你提供的信息中,至少我无法判断你在做什么,甚至你做错了什么。我认为你应该针对你的实际问题发布第二个问题,因为这个问题已经接近重复。