【发布时间】:2017-03-27 12:34:25
【问题描述】:
我有这个代码
public class HelloWorld{
public static void main(String []args){
try{
java.util.Date mDate;
java.text.SimpleDateFormat readFormat = new java.text.SimpleDateFormat("yyyy-mm-dd");
mDate = readFormat.parse("2017-02-05");
System.out.println("date: " + mDate.toString());
} catch (java.text.ParseException e1) {
e1.printStackTrace();
}
}
}
我预计输出如 2017 年 2 月 5 日 00:02:00 UTC
但我得到输出 Jan 05 00:02:00 UTC 2017 为什么?我的代码有什么问题?
【问题讨论】:
-
System.out.println("date:" + readFormat.format(mDate);
-
mm vs MM ......
-
但是为什么输出是一月而不是二月???字符串日期是 2017-02-05,输出类似于 2017-01-05
-
@Selvin 我认为问题在于为什么
readFormat.parse("2017-02-05")会在一月份结束。 -
@Axel,可能是因为
Jan是公历中一年中的第一个月,因此是任何解析日期的默认值。
标签: java android date simpledateformat