前言
在元旦假期到来之际,我恰好准备出去飘几天,然而在使用一些 App 的时候,居然被我发现了一个应该是因为前端粗心而致使的 bug,在 2019.12.30 出发,结果 App 上显示的是 2020.12.30(吓得我觉得个人订单下错了,此处是否是该把程序员拉去祭天了)。php
鉴于可能会有程序员所以而被拉去祭天,而我之前学 Java 的时候就有留意过这个问题,因此我仍是把这个问题拿出来讲一下,但愿能尽可能避免这方面的粗枝大叶(毕竟这种问题也很难测出来)。前端
正文
public class DateTest {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(2019, Calendar.AUGUST, 31);
Date strDate = calendar.getTime();
DateFormat formatUpperCase = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("2019-08-31 to yyyy-MM-dd: " + formatUpperCase.format(strDate));
formatUpperCase = new SimpleDateFormat("YYYY-MM-dd");
System.out.println("2019-08-31 to YYYY/MM/dd: " + formatUpperCase.format(strDate));
}
}
复制代码
咱们来看下运行结果:程序员
2019-08-31 to yyyy-MM-dd: 2019-08-31
2019-08-31 to YYYY/MM/dd: 2019-08-31
复制代码
若是咱们日期改为 12.31:面试
2019-12-31 to yyyy-MM-dd: 2019-12-31
2019-12-31 to YYYY-MM-dd: 2020-12-31
复制代码
问题就出现了是吧,虽然是一个小小的细节,可是用户看了也会一脸懵,可是咱们做为开发者,不能懵啊,赶忙文档查起来: bash
这虽然是个很小的知识点,可是也有不少人栽到坑里,各位学完能够记录一下咯,以为好的还能够点个赞关注一下。我在这里祝愿各位码代码时若有神助,永远没有 bug~架构
By the way
有问题?能够给我留言或私聊 有收获?那就顺手点个赞呗~学习
固然,也能够到个人公众号下「6曦轩」, 回复“学习”,便可领取一份 【Java工程师进阶架构师的视频教程】~ 回复“面试”,能够得到: 【本人呕心沥血整理的 Java 面试题】 spa
因为我咧,科班出身的程序员,php,Android以及硬件方面都作过,不过最后仍是选择专一于作 Java,因此有啥问题能够到公众号提问讨论(技术情感倾诉均可以哈哈哈),看到的话会尽快回复,但愿能够跟你们共同窗习进步,关于服务端架构,Java 核心知识解析,职业生涯,面试总结等文章会不按期坚持推送输出,欢迎你们关注~~~ ![]()