Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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 日期格式分析错误_Java_Datetime - Fatal编程技术网

Java 日期格式分析错误

Java 日期格式分析错误,java,datetime,Java,Datetime,我有个约会要来。例如2012年2月16日。为了使用我的数据库格式,我需要做的是将其转换为2012-02-16。我想这会很简单。但我做不到。这是我的约会解析器 String endDateString = "02/16/2012" SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd"); endDate = dateFormat.parse(endDateString) 有什么建议吗?谢谢。您正在使用错误的格式进行解析

我有个约会要来。例如2012年2月16日。为了使用我的数据库格式,我需要做的是将其转换为2012-02-16。我想这会很简单。但我做不到。这是我的约会解析器

String endDateString = "02/16/2012"
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd"); 
endDate = dateFormat.parse(endDateString)

有什么建议吗?谢谢。

您正在使用错误的格式进行解析

new SimpleDateFormat("MM/dd/yyyy"); 

您正在使用错误的格式进行分析

new SimpleDateFormat("MM/dd/yyyy"); 

指定的日期格式必须与输入的日期格式相匹配,如下所示:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 

指定的日期格式必须与输入的日期格式相匹配,如下所示:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 

您应该从一种正确的格式解析它,然后用另一种正确的格式转换为字符串。您在做什么-试图用yyyy-MM-dd格式解释MM/dd/yyyy格式的日期,即不正确

样品


您应该从一种正确的格式解析它,然后用另一种正确的格式转换为字符串。您在做什么-试图用yyyy-MM-dd格式解释MM/dd/yyyy格式的日期,即不正确

样品


您要做的是将传入格式解析为日期对象

然后将日期对象重新格式化为所需的格式

final SimpleDateFormat odf = new SimpleDateFormat("yyyy-MM-dd");
final String s = odf.format(indate);

您要做的是将传入格式解析为日期对象

然后将日期对象重新格式化为所需的格式

final SimpleDateFormat odf = new SimpleDateFormat("yyyy-MM-dd");
final String s = odf.format(indate);

这段代码可以告诉您如何完成它

SimpleDateFormat inputDateFormat = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat outputDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String endDateString = "02/16/2012";
String endDate =     outputDateFormat.format(inputDateFormat.parse(endDateString));

参考资料:

这段代码可以告诉您如何完成它

SimpleDateFormat inputDateFormat = new SimpleDateFormat("MM/dd/yyyy");
SimpleDateFormat outputDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String endDateString = "02/16/2012";
String endDate =     outputDateFormat.format(inputDateFormat.parse(endDateString));

参考:

您还可以在数据库级别转换日期。例如,MySQL有一个函数STR_TO_DATE。在您的情况下,它将是STR_TO_DATE'02/16/2012','%m/%d/%Y'

您还可以在数据库级别转换日期。例如,MySQL有一个函数STR_TO_DATE。在您的情况下,它将是STR_TO_DATE'02/16/2012','%m/%d/%Y'