Java:GregorianCalendar奇怪的输出

我是 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


我究竟做错了什么?


慕仙森
浏览 155回答 2
2回答

当年话下

DD-MMM-YYYY 表示:DD : 一年中的一天MMM : Month in year (Month: 如果模式字母的数量为 3 或更多,则将月份解释为文本;否则,将其解释为数字。)YYYY : 周年如果要将日期显示为 22-09-2018,请使用格式dd-MM-yyyy.见https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

尚方宝剑之说

DateTimeFormatter 类有很多不同的显示日期和时间的方式。查看 Oracle 文档:https&nbsp;:&nbsp;//docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html了解更多信息和语法
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java