【发布时间】:2017-09-04 07:24:17
【问题描述】:
我将日期更改为字符串,然后再次从字符串更改为日期,但从字符串转换为日期后的日期与之前不同。请参阅代码
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();
}
}
}
这里如果日期对象的值 Mon Sep 04 12:51:33 IST 2017
比 currentDate 有 Sun Jan 01 00:00:00 IST 2017
我知道代码有问题,我无法弄清楚。所以请为我指出。
谢谢
【问题讨论】:
-
那是什么版本的 Java?如果 Java 8 或更高版本,请考虑使用新的 datetime API
-
仅供参考,您正在使用麻烦的旧日期时间类,现在已被 java.time 类取代。
-
顺便说一句,我建议您废弃早已过时的课程
SimpleDateFormat和Date。很多人都经历过很多问题,你只是看似永无止境的一排。今天我们在the modern Java date & time API 的表现要好得多。