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

时间:2017-09-04 07:24:17

标签: 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 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有2017年1月1日00:00:00 IST 2017

我知道代码有问题,我无法弄清楚。所以请指出我。

由于

2 个答案:

答案 0 :(得分:2)

您使用的是错误的格式。通过查看the documentation,您可以看到

  • d:每月一次
  • M:一年一个月
  • Y:周年
  • y:年

所以正确的格式是:"dd/MM/yyyy"

答案 1 :(得分:1)

您的格式String不正确。您已使用YYYY,但需要yyyy。像,

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