Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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 为什么是;2012-30-03“;用DateFormat解析为2014年6月3日?_Java_Date_Date Format - Fatal编程技术网

Java 为什么是;2012-30-03“;用DateFormat解析为2014年6月3日?

Java 为什么是;2012-30-03“;用DateFormat解析为2014年6月3日?,java,date,date-format,Java,Date,Date Format,我有一个字符串(例如:2012-30-03 12:30),我正在尝试使用以下代码: DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm"); this.startTime = (Date) df.parse(startTime); // startTime = "2012-30-03 12:30" 但当我尝试以下方法时: System.out.println(this.startTime); 以下内容将打印出来 2014年6月3日星期

我有一个字符串(例如:2012-30-03 12:30),我正在尝试使用以下代码:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm");
this.startTime = (Date) df.parse(startTime); // startTime = "2012-30-03 12:30"
但当我尝试以下方法时:

System.out.println(this.startTime);
以下内容将打印出来

2014年6月3日星期二12:30:00 CEST

这到底是怎么回事

有没有更好的方法将我拥有的字符串类型转换为工作日期对象?

我认为

DateFormat df=新的简化格式(“yyyy-MM-dd-HH:MM”)

应该是

DateFormat df=新的简化格式(“yyyy-dd-MM HH:MM”)

基于您提供的示例字符串(
2012-30-03 12:30


将你对date类的愤怒集中到验证基础上,你就会没事了。;)

基本上我都在使用乔达时间:请看一看。具体地说,虽然可以说应该提出一个例外,但如果一个例外在2012年后30个月零3天出现,则“技术上是正确的”。在任何情况下,请尝试以更客观的形式写问题。正确地写下日期——它是如何工作的?可能是示例字符串出错了。没有人使用年-日-月格式。可能是年-月-日,月-日-年,或日-月-年。但我只能根据书面信息进行诊断。另外,除了非标准的日期格式之外,我在软件中还看到了一些奇怪的东西