Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA SimpleDataFormat返回错误的格式_Java_Simpledateformat - Fatal编程技术网

JAVA SimpleDataFormat返回错误的格式

JAVA SimpleDataFormat返回错误的格式,java,simpledateformat,Java,Simpledateformat,我需要转换一个简单的字符串,例如: 2017年6月30日18:00 但我设置的simpledateformat不适用。出于某种原因,它给出这样的输出 2017年6月30日星期五18:00:00 UTC 我知道关于这个问题还有其他问题,但我想我肯定我正确地遵循了所有的指示, 我设置了正确的格式,奇怪的是,我在另一个地方使用了相同的代码,效果很好。 我尝试使用locale.ENGLISH部分和“strict”属性。。 看起来netbeans真的在欺骗我 非常感谢你 System.

我需要转换一个简单的字符串,例如:

2017年6月30日18:00

但我设置的simpledateformat不适用。出于某种原因,它给出这样的输出

2017年6月30日星期五18:00:00 UTC

我知道关于这个问题还有其他问题,但我想我肯定我正确地遵循了所有的指示, 我设置了正确的格式,奇怪的是,我在另一个地方使用了相同的代码,效果很好。 我尝试使用locale.ENGLISH部分和“strict”属性。。 看起来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

谢谢你的回答,但问题不是“输出”

我所做的是:

收集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));

我认为您需要为代码片段添加更多上下文。从你提供的信息中,至少我无法判断你在做什么,甚至你做错了什么。我认为你应该针对你的实际问题发布第二个问题,因为这个问题已经接近重复。