工作6年了日期时间格式化还在写YYYY疯狂给队友埋雷

这篇具有很好参考价值的文章主要介绍了工作6年了日期时间格式化还在写YYYY疯狂给队友埋雷。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

哈喽小伙伴们好久不见,今天来个有意思的雷,看你有没有埋过。

正文

不多说废话,公司最近来了个外地回来的小伙伴,在广州工作过6年,也是一名挺有经验的开发。

他提交的代码被小组长发现有问题,给打回了,原因是里面日期格式化的用法有问题,用的SimpleDateFormat,但不知道是手误还是什么原因,格式用了YYYY-MM-dd。

这种写法埋了一个不大不小的雷。

用一段测试代码就可以展示出来问题

工作6年了日期时间格式化还在写YYYY疯狂给队友埋雷,java,java-ee,spring boot

打印结果如下:

工作6年了日期时间格式化还在写YYYY疯狂给队友埋雷,java,java-ee,spring boot

很明显,使用YYYY时,2023年变成了2024年,在正常情况下可能没问题,但是在跨年的时候大概率就会有问题了。

原因比较简单,与小写的yyyy不同,大写的YYYY表示一个基于周的年份。它是根据周计算的年份,而不是基于日历的年份。通常情况下,两者的结果是相同的,但在跨年的第一周或最后一周可能会有差异。

比如我如果换成2023-12-30又不会有问题了

工作6年了日期时间格式化还在写YYYY疯狂给队友埋雷,java,java-ee,spring boot

另外,Hutool工具类本身是对Java一些工具的封装,DateUtil里面也有用到SimpleDateFormat,因此也会存在类似的问题。

工作6年了日期时间格式化还在写YYYY疯狂给队友埋雷,java,java-ee,spring boot

避免这个问题的方法也十分简单,要有公用的格式类,所有使用日期格式的地方都引用这个类,这个类中就定义好yyyy-MM-dd想给的格式即可,这样就不会出现有人手误给大家埋雷了。

总结

  1. 日期时间格式统一使用yyyy小写;
  2. 日期格式要规定大家都引用定义好的工具类,避免有人手误打错。

最后再回头想一想,这种小问题并不会马上暴露出来,倘若没有被发现,到了明年元旦,刚好跨年的时候,是不是就要坑死一堆人了。文章来源地址https://www.toymoban.com/news/detail-660413.html

到了这里,关于工作6年了日期时间格式化还在写YYYY疯狂给队友埋雷的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows bat 批处理 日期时间格式化

    有一个批处理脚本,脚本中根据当前日期,动态的生成日志文件, 如:当前是 2023年06月20日,我希望生成的日志文件名为:XX_20230620.log Windows 在批处理中 获取日期和时间的方式如下: echo %time% 输出的时间格式: HH:MM:SS.NN HH :时 MM :分 SS :秒 NN :厘秒(注意不是毫秒,1秒

    2024年02月11日
    浏览(55)
  • sqlite3日期时间格式化和自动输入

    Sqlite3系列:初步💎where💎select sqlite中并未提供单独的日期时间类型,但提供了三种时间表示方式 通过text来存储时间文本 用整型来存储时间戳,时间戳是从1970-01-01算起的秒数 用浮点型来存储自儒略日开始算起的天数,儒略日即公元前4713年1月1日中午12点。 并且提供了一些

    2024年02月06日
    浏览(38)
  • Flutter/Dart日期格式化及时间戳转换

    点击进入我的自建博客链接 Dart 获取当前时间,以及获取当前年、月、日等。 创建指定时间还可以直接从符合日期格式的字符串直接转换,如下。 日期字符串转为时间 日期时间转成时间戳 时间戳转日期时间 可以给某个时间增加或减少时间段(Duration)。

    2024年02月11日
    浏览(38)
  • Java格式化日期,时间(三种方法,建议收藏)

    在java中String类格式化的方法,是静态format()用于创建格式化的字符串。 format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化

    2024年02月15日
    浏览(34)
  • JavaScript 日期和时间的格式化大汇总(收集)

    一、日期和时间的格式化 1、原生方法 1.1、使用 toLocaleString 方法 Date 对象有一个 toLocaleString 方法,该方法可以根据本地时间和地区设置格式化日期时间。例如:   toLocaleString 方法接受两个参数,第一个参数是地区设置,第二个参数是选项,用于指定日期时间格式和时区信息

    2024年02月08日
    浏览(38)
  • 使用 uni-app 开发项目,日期和时间如何格式化?

    功能需求描述 在开发项目时,往往需要对从后端查询到的时间进行格式化,查到的时间格式一般都是 时间戳 ,一堆数字,这时候怎么转化成类似于  2023年8月15日 08:12:10  这样的格式? 在组件显示格式化后的日期 其实 uni-app 的官方拓展组件  uni-dateformat  就能实现这个需求

    2024年02月05日
    浏览(36)
  • 【Java 基础篇】Java日期和时间格式化与解析指南:SimpleDateFormat详解

    日期和时间在软件开发中经常被用到,无论是用于记录事件、计算时间间隔还是格式化日期以供用户友好的展示。Java 提供了强大的日期和时间处理工具,其中 SimpleDateFormat 类是一个重要的工具,用于格式化日期和时间,同时也支持解析日期和时间。本篇博客将深入探讨 Sim

    2024年02月09日
    浏览(47)
  • Java中日期时间格式化方法SimpleDateFormat和DateTimeFormatter使用完整示例及区别说明

    示例代码: 示例截图:  这里完整的用两种方法分别实现了日期和String的来回转换,鉴于SimpleDateFormat早已过时,且非线程安全,所以推荐大家首选使用DateTimeFormatter,用法基本都是差不多的。变化不大。但是DateTimeFormatter需要Java Level 8(8 - Lambdas, type annotations etc.),需留意。

    2023年04月09日
    浏览(29)
  • Python中f‘‘、str.format()和str%()的字符串格式化详解(2)------格式占位符的使用,日期、时间格式使用

    目录 四、 f\\\'\\\'、str.format()和str%()格式化表达式中格式占位符的使用 1、实现进制(或格式)的转换与冒号: 2、实现对象的字符串形式转换与感叹号! 3、为对象指定宽度或精度 4、对对象取百分比 5、为对象增加正号+或负号- 6、为对象增加标志(flags) 五、 f\\\'\\\'、str.format()和str%()格式化

    2024年02月04日
    浏览(41)
  • JS日期与字符串相互转换(时间格式化YYYY-MM-DD,Dayjs的使用)

    文章内容 文章链接 JS数组对象—— 根据日期进行排序 , 按照时间进行升序或降序排序 https://blog.csdn.net/XSL_HR/article/details/128579840?spm=1001.2014.3001.5501 JS日期时间格式化—— 数字日期转中文日期 (封装函数,dayjs转换时间格式) https://blog.csdn.net/XSL_HR/article/details/128607024?spm=100

    2024年01月18日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包