【问题标题】:convert string to date format error将字符串转换为日期格式错误
【发布时间】:2014-04-28 22:52:18
【问题描述】:

我想将字符串转换为日期,但输出日期与输入日期不同

  String  dateString="04/01/2014";
  SimpleDateFormat format=new SimpleDateFormat("MM/DD/YYYY");
  try {
Date date=format.parse(dateString);
    System.out.println(date);
  } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

输出时间为 2013 年 12 月 29 日星期日 00:00:00 EET

【问题讨论】:

  • 这是正确的输出。你期待什么,为什么?阅读SimpleDateFormat的javadoc。
  • DD 更改为ddYYYY 更改为yyyy
  • 这是一个正确的输出!您正在输出日期而不是字符串!如果要输出日期对象,则必须在该对象上应用格式化程序
  • 输入是 04/01/2014 但输出是 12/29/2013

标签: java string date


【解决方案1】:

您的格式字符串错误,来自SimpleDateFormat -

一年中的第 189 天

d 月中的第 10 天

y 年 1996 年; 96

Y 周年 2009 年; 09

所以,你想要 -

String  dateString="04/01/2014";
SimpleDateFormat format=new SimpleDateFormat("MM/dd/yyyy");
try {
  Date date=format.parse(dateString);
  System.out.println(date);
} catch (ParseException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 2014-01-18
    • 2019-10-13
    相关资源
    最近更新 更多