Java: GregorianCalendar 奇怪的输出
Java: GregorianCalendar Strange Output
我是 Java 的新手,我正在尝试使用以下代码获取昨天的日期:
GregorianCalendar gc = new GregorianCalendar(2018,9,22);//<-Today
gc.add(gc.DATE, -1);//<-Yesterday
SimpleDateFormat dateFormatter = new SimpleDateFormat("DD-MMM-YYYY");
System.out.println(dateFormatter.format(gc.getTime()));
我得到的输出是:
325-XI-2018
我做错了什么?
DD-MMM-YYYY 表示:
- DD:一年中的第几天
- MMM : 年中的月份(月份:如果模式字母的个数大于或等于3,则月份被解释为文本;否则,被解释为数字。)
- YYYY : 周年
如果要将日期显示为 22-09-2018,请使用格式 dd-MM-yyyy
。
见https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
DateTimeFormatter class 有很多不同的显示日期和时间的方法。查看 Oracle 文档:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html 了解更多信息和语法
我是 Java 的新手,我正在尝试使用以下代码获取昨天的日期:
GregorianCalendar gc = new GregorianCalendar(2018,9,22);//<-Today
gc.add(gc.DATE, -1);//<-Yesterday
SimpleDateFormat dateFormatter = new SimpleDateFormat("DD-MMM-YYYY");
System.out.println(dateFormatter.format(gc.getTime()));
我得到的输出是:
325-XI-2018
我做错了什么?
DD-MMM-YYYY 表示:
- DD:一年中的第几天
- MMM : 年中的月份(月份:如果模式字母的个数大于或等于3,则月份被解释为文本;否则,被解释为数字。)
- YYYY : 周年
如果要将日期显示为 22-09-2018,请使用格式 dd-MM-yyyy
。
见https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
DateTimeFormatter class 有很多不同的显示日期和时间的方法。查看 Oracle 文档:https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html 了解更多信息和语法