这个问题在这里已经有答案了:
java SimpleDataFormat解析错误的日期(2个答案)
三年前关门了。
我正在将日期更改为字符串,并再次从字符串更改为日期,但从字符串转换为日期后的日期与之前不同。请参阅代码
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
public class DateChange {
public static void main(String[] args) {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/YYYY");
Date date = new Date();
String dateString = dateFormat.format(date);
Date currentDate = null;
try {
currentDate = dateFormat.parse(dateString);
System.out.println(date + " \n" + currentDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
如果date对象的值为mon sep 04 12:51:33 ist 2017
当前日期为2017年1月1日00:00:00
我知道代码有点问题,我想不出来,所以请给我指出。
谢谢
2条答案
按热度按时间bf1o4zei1#
您的格式
String
不正确。你用过YYYY
,但你需要yyyy
. 比如,k10s72fa2#
你用错格式了。通过查看文档,您可以看到
d
:月日M
:年中的月份Y
:周-年y
:年所以正确的格式是:
"dd/MM/yyyy"