java字符串日期转换

我希望在存储之前将字符串转换为日期并使用

SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd"); Date returnDate = format.parse(date); 

当我用样本日期运行它时:日期转换的输入字符串是2014-05-06,解析日期是Mon Jan 06 00:05:00 IST 2014

现在当我将returnDate存储在MySql中时,值为2014-01-06 00:05:00

为什么日期改变了? 想知道我是否遗漏了什么。 我浏览了与日期字符串转换相关的post: 如何使用java将日期从Datepicker转换为Mysql DATETIME格式?

在您的DateFormat中,使用MM代替mm而不是mm ,即分钟

参考: http : //docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

你可以像这样使用:

 Date mDate= new Date(System.currentTimeMillis()); SimpleDateFormat mDateFormat= new SimpleDateFormat("dd MMM yyyy HH:mm a"); String dateformat=mDateFormat.format(mDate); the string ["dd MMM yyyy HH:mm a"] can be changed according to need of formate. Like in your case : "yyyy-mm-dd