jshell> import java.text.SimpleDateFormat;
jshell> void test(){ SimpleDateFormat smf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss"); String curTime = smf.format(new Date()); System.out.println(curTime); } | 已修改 方法 test()
jshell> test(); 2021-12-31 13:57:11
我和同事试了都是这样,你们也是吗, java8 编译模式和我的 java11 交互式都是这样
哈哈我是傻了才发了个年经贴,那就祝大家元旦快乐吧🐶🐶
突然有点感叹,这些睿智问题就是这样一年又一年陪着我们过来。
|  |      1Asuka0947      2020-12-31 14:03:14 +08:00 YYYY 和 yyyy 不一样的,YYYY 按周算,跨年了,这周算 2021 年 | 
|  |      2MineDog      2020-12-31 14:04:14 +08:00 YYYY 大写的问题吧 | 
|  |      3hahastudio      2020-12-31 14:06:32 +08:00 | 
|  |      4focuxin      2020-12-31 14:07:31 +08:00 YYYY 大写是当周的年份 | 
|  |      5ebony0319      2020-12-31 14:12:04 +08:00 via Android 同学,这是语感问题,上次我拿的那个这个问同事,听说不知道 YYYY 是什么,但是肯定不会写 YYYY. | 
|  |      6arloor      2020-12-31 14:14:37 +08:00 你这个问题,每年都能出来 去年我就在文章里看到了 | 
|  |      7yaphets666      2020-12-31 14:14:57 +08:00 这个问题去年出过啊 v2 也讲过 | 
|  |      8MineDog      2020-12-31 14:18:43 +08:00 | 
|  |      9bk201      2020-12-31 14:20:34 +08:00  1 我是不明白为啥 java 源码里 老搞这些令人混淆犯错的东西 | 
|  |      10Vegetable      2020-12-31 14:21:09 +08:00  2 年经贴 | 
|  |      11yuk1no      2020-12-31 14:21:30 +08:00 via iPhone 都 1202 年了 别用 SimpleDateFormat 了 | 
|      12zm8m93Q1e5otOC69      2020-12-31 14:24:27 +08:00 via Android 用 DateTimeFormatter | 
|  |      14chendy      2020-12-31 14:25:45 +08:00  1 YYYY 是按周算的,只要有一天在下一年,这一周就是下一年的第一周,于是这周就已经到了下一年 | 
|      15PiersSoCool      2020-12-31 14:26:04 +08:00 用啥都没区别,就是 YYYY 和 yyyy 的问题 话说这种垃圾设计是怎么变成标准的 这区分度也太低了 太容易用错了吧 | 
|  |      16duojiao OP  1 懂了,谢谢各位,傻了发了年经贴哈哈 | 
|  |      17wysnylc      2020-12-31 14:28:05 +08:00 | 
|  |      18wysnylc      2020-12-31 14:29:39 +08:00 @PiersSoCool #15 我觉得是人的问题,分的清楚 MM 和 mm HH 和 hh,却把 YYYY 当成 yyyy?这是思维割裂了吗? 不懂 MM 和 mm HH 和 hh 的区别啊,那没事了 | 
|      1924KPureFather      2020-12-31 14:30:24 +08:00  4 我在 idea 里面把你的 test() 方法中的代码跑一了一边,确实会出现 2021-12-31 13:57:11 这个结果,但是 idea 会给你警告 Uppercase 'YYYY' (week year) pattern is used: probably 'yyyy' (year) was intended 的,把 YYYY 改成小写的 yyyy 就好了,idea 提醒真香~ | 
|      20javen73      2020-12-31 14:34:25 +08:00 @hahastudio #3 哈哈哈,我说这个标题怎么这么熟悉。 | 
|  |      21JinTianYi456      2020-12-31 14:34:27 +08:00 “年轻人不讲武德”,请看仔细了文档再编程 [doge] | 
|  |      22JinTianYi456      2020-12-31 14:35:39 +08:00 @wysnylc #17 那是什么网站? | 
|      23Jooooooooo      2020-12-31 14:45:41 +08:00 一年又一年 又到年底了 | 
|      24hodur      2020-12-31 15:01:57 +08:00 也算是年经问题了,每年年底都冒出来 | 
|  |      25glasslion      2020-12-31 15:03:36 +08:00 @wysnylc 就是不良设计。如果分不清 MM mm, HH hh, 在调试,测试时立马可以发现, 但 YYYY 每年就几天可以重现。 | 
|  |      26wysnylc      2020-12-31 15:09:11 +08:00 @glasslion #25 HH 和 hh 一样难以发现,如果测试的时间在 0-12 点这二者没有区别 别再为不严谨,不看文档找借口了 | 
|  |      27lskjdfgl      2020-12-31 15:36:14 +08:00 @beichenhpy 同样也有这个问题 // 2020-12-31 System.out.println(DateTimeFormatter.ofPattern("yyyy-MM-dd").format(LocalDate.now())); // 2021-12-31 System.out.println(DateTimeFormatter.ofPattern("YYYY-MM-dd").format(LocalDate.now())); | 
|      28rodneya      2020-12-31 15:42:37 +08:00 去年我也赶上了一次,,还是线上系统 都快下班了 结果临时加班,,, | 
|      29NickYUyu      2020-12-31 16:06:05 +08:00 好快啊 一年就过去了 | 
|      31jintianfengda      2020-12-31 16:58:45 +08:00 看到这个问题我就知道,又是新的一年了 | 
|      32wc951      2020-12-31 17:16:25 +08:00 via Android 这是 ISO8061 的规定 | 
|  |      33fangcan      2020-12-31 18:29:02 +08:00 前几天刚好也遇到这个问题 | 
|      34pigmen      2020-12-31 19:06:50 +08:00 这么一看 go 的 format 还是香 | 
|      35ddllzz      2020-12-31 20:10:02 +08:00 hhhh,一年又过去了 | 
|      36EminemW      2021-01-01 00:24:59 +08:00 这问题,犯过一次就不能再犯了,一般都用 yyyy | 
|      37sampeng      2021-01-01 15:03:06 +08:00 via iPhone 昨天晚上我还检查了公司所有重要代码库看有没有这个问题,很欣慰。没有,到晚上就招受了社会的毒打…合作伙伴传过来的有一些就是 2021 年…蛋疼得不行。 |