前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么?明明是2020年12月30日显示2021年12月30日?

什么?明明是2020年12月30日显示2021年12月30日?

作者头像
木左
发布2020-09-03 17:45:49
8020
发布2020-09-03 17:45:49
举报

公元2020年12月30日上午9点,准时开电脑准备开始一天的工作。突然运营的小姐姐过来找,说线上签的合同有问题,应该显示2020年12月30日但是显示的是2021年12月30日。我一听,脸上流露出一切尽在掌握的表情,淡淡地说了句:“知道了,我等下看看。”内心却是-什么鬼,还有这奇葩的问题,难道数据算错了,不应该,这不是都上线一年多的功能,不应该呀!不管了,去看看再说。 根据小姐姐提供的信息,我查询数据库相关数据信息,发现数据库里的数据没有任何问题,历史经验和直觉告诉我,这不是计算的问题,应该是显示层的问题(

看来不是我开发的功能,不是我的锅,我不背,瞬间感觉后背的冷汗落下去了)。既然不是我的问题,那我就看看前端生成合同PDF文件的时候都干了些啥,一看格式化日期使用的是Velocity自带的日期格式化工具,是这么写的

代码语言:javascript
复制
$!date.format("YYYY年M月d日",${currentDate})

可能踩过坑的同学一眼就看到问题所在了,奈何我没留意过。所以直接打开度娘,问问她是是不是Velocity自己的BUG,结果看了半天,没人碰到。自己想想,要是真是Velocity自己的问题,这么大的问题人不早修复了?嗯,肯定哪里不对,这个时候需要的其实就是去上个卫生间,清空一下思路。好吧,先去个卫生间。

回来会我就看这个写法,总感觉有点别扭呢,我记得自己写的时候都是yyyy-MM-dd 不就是大小写不一样吗,应该没啥问题呀!仔细一想,好像不对呀,那个M貌似就区分大小写,这个没注意过,难道也区分。嗯,遇到这个事情最好的办法就是试试就知道了。于是

这一试,还真不一样。行,问题是找到了,先改了,把线上的问题改了再说。更新了生产环境。通知运营小姐姐再试试。一会小姐姐通知,可以了。线上的问题就这么解决了,可是疑问还在呀,为啥会不一样呢,嗯,肯定是意思不一样呗,你傻不傻。那就去查查都是些啥意思。

还真是不一样,那Week year是什么意思呢 原来表示的是具体日期所在周属于的年份,而外国人人家一周是从周日开始的,只要本周跨年就会变成下一年。对着日历验证了下其他日期,看看对不对。从2020年12月27日到2020年12月31都是同样的情况。心中的疑问终于解决了。小伙伴们学到了吗?

争取每天都能有所进步,有所收获。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 木左侃技术人生 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档