这是我正在使用的代码:
String string = "08/07/2013".replace('/', '-');
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(string);
为什么日期返回:“Wen Jan 3 00:00:00 EST 14”?这根本不是我告诉它使用的日期格式。
编辑:我需要这种格式,因为我使用的数据库需要这种格式。
您用于解析日期字符串的格式与它不匹配。您正在yyyy
使用08
.
使用以下格式:
new SimpleDateFormat("dd-MM-yyyy")
以及为什么要替换/
为-
?您只能为原始字符串构建模式:
String string = "08/07/2013"
Date date = new SimpleDateFormat("dd/MM/yyyy").parse(string);
如果你想要你的日期字符串yyyy-MM-dd
格式,那么你可以格式化date
usingDateFormat#format(Date)
方法:
String formattedDate = new SimpleDateFormat("yyyy-MM-dd").format(date);
也可以看看:
当您使用字符串(例如“yyyy-MM-dd”)指定一些简单日期格式时,您必须提供相同格式的日期才能获取日期对象,例如。“1991-07-24”。
String mydate = "1991/07/24";
Date formattedDate = new SimpleDateFormat("yyyy/MM/dd").parse(mydate);
现在,如果您想将其转换为任何其他格式,您可以通过将此日期对象格式化为特定格式来实现。
String dateInOtherFormat = new SimpleDateFormat("dd-MMM-yyyy").format(formatteddate);
dateInOtherFormat 的输出将是 ... 24-JUL-1991 。
好的,我的建议很愚蠢,但如果你需要这种格式,试试这个
String[] arr = "08/07/2013".split("/");
String newString = arr[2]+"-"+arr[1]+"-"arr[0];
Date date = new SimpleDateFormat("yyyy-MM-dd").parse(newString);
注意如果您的原始字符串格式为“MM/dd/YYYY”,请使用:
String newString = arr[2]+"-"+arr[0]+"-"arr[1];