使用SimpleDateFormate转换年月日时,结果跟预期不一致,代码为:
public class Main {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-DD HH:mm:ss");
System.out.println(sdf.format(date));
}
}
运行结果
查看api文档发现,匹配的文本出错了,转换格式中大写Y和小写y,大写D和小写d都定义成其他的含义,
从途中可以看出,大写D表示为这一天是一年中的第几天,所以应该写为:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
其他的类似