小编典典

如何使用SimpleDateFormat将字符串转换为日期?

java

我有以下代码片段:

DateFormat formatter1;
formatter1 = new SimpleDateFormat("mm/DD/yyyy");
System.out.println((Date)formatter1.parse("08/16/2011"));

运行此命令时,将其作为输出:

Sun Jan 16 00:10:00 IST 2019

我期望:

Tue Aug 16 "Whatever Time" IST 2019

我的意思是说我没有达到预期的月份。怎么了


阅读 707

收藏
2020-03-16

共1个答案

小编典典

尝试这个:

new SimpleDateFormat("MM/dd/yyyy")
  • MM is “month” (not mm)
  • dd is “day” (not DD)

全部包含在SimpledocateFormat的javadoc中

仅供参考,你的格式仍然是有效的日期格式的原因是:

  • mm is “minutes”
  • DD is “day in year”

此外,你不需要投地Date......它已经是一个Date(或它爆炸):

public static void main(String[] args) throws ParseException {
    System.out.println(new SimpleDateFormat("MM/dd/yyyy").parse("08/16/2019"));
}

输出:

Tue Aug 16 00:00:00 EST 2019
2020-03-16