记录一次错误的使用当前时间new Date()引发的错误

  • 前言

    当我回顾自己的博客写作经历时,发现已经好久没有动笔了。然而,我深知互联网的强大之处,它让我们每个人都能轻松地获取信息和解决问题。每当我遇到困难时,只需上网搜索一番,往往就能找到答案。

         这一切都得益于那些乐于分享经验和知识的人们。他们的贡献让我们能够少走很多弯路,更加高效地解决问题。正因如此,互联网才得以持续繁荣发展。

         然而,我的博客已经搁置已久,我感到写作很有必要,为互联网社区贡献自己的一份力量。通过分享我的经验、见解和解决问题的方法,我希望能够帮助他人,同时也加深自己对所学知识的理解和应用。

  • 起因

     在一个类中需要多次使用当天的时间进行比较,于是我就定义了一个变量 

Date today = new Date();

        以便多次使用这个 today,想当然觉得没问题,可是出事儿了~~~

  • 问题现象

        项目上线之后,测试验证了,说没有问题,结果第二天发现获取的当前时间不对,today还是昨天的时间,我重启了下项目发现时间正确了,我还以为是new Date()的问题,我还换成了 LocalDateTime.now() ,结果问题依旧,这个问题头疼了好久,总不能项目每天重启一下吧(实在没办法,写个脚本每天重启,但总不是解决问题的办法)。

  • 解决办法

        最后想,有没有可能是变量的问题,于是我把所有用到 today 变量的地方都换成了直接使用 new Date(),于是问题解决。

  • 根本原因

        没想明白,为什么,于是问了大神,大神告诉我:"在 Java 中,一旦变量被初始化,其值就不会再改变,除非您显式地对其进行重新赋值。" ,我这才恍然大悟,原来犯了一个低级错误,希望你不要像我一样。

 

posted @ 2024-03-28 16:21  strong  阅读(83)  评论(0编辑  收藏  举报