日期到字符串和字符串到日期错误Java

日期到字符串和字符串到日期错误Java,java,string,date,Java,String,Date,我正在将日期更改为字符串,并再次从字符串更改为日期,但从字符串转换为日期后的日期与以前不同。请参阅代码 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 voi

我正在将日期更改为字符串,并再次从字符串更改为日期,但从字符串转换为日期后的日期与以前不同。请参阅代码

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

我知道代码有问题,我无法理解。所以请给我指出


谢谢

您的格式
字符串
不正确。您使用了
YYYY
,但需要
yyy
。像

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

你使用了错误的格式。通过检查,您可以看到

  • d
    :月份中的天
  • M
    :一年中的月份
  • Y
    :周-年
  • y
    :年

所以正确的格式应该是:
“dd/MM/yyyy”

那是什么版本的Java?如果java 8或更大,考虑使用新的DATEATE-ApIFI,您正在使用由JavaTimeC类类取代的麻烦的旧日期时间类。很多人都经历过很多问题,而你只是其中一个看起来从未有过的人。今天我们有好多好多了。谢谢。这个愚蠢的错误花了我3个小时。