当前时间的诱惑

                                            当前时间的诱惑

           当前时间也就是本地系统的当前时间,但是,在B/S结构广为流行的今天,他给我们的系统留下了多少好处呢?  有给我们留下了多少漏洞呢?

          在我们的Web程序中,Calendar.getInstance().getTimeInMillis() 这样的语句也许大家见过吧!很有用的东西,比如用在计算系统启动花费了多少时间,一些系统中的流水号生成,性能调优等等。

         然而,一个项目有一个团队开发,但是总有人喜欢用下面这样的语句,Calendar.getInstance().getTime();

大家能猜到这时做什么的么? 如果你的系统平台需要记录日志时,通常我们都用log4j,时间由它自己调用,如果系统需要记录一些人的登陆时间,IP,员工姓名等等,我们也需要这个东东。 久而久之,有人就开始在一些表中插入当前时间的字段,用它来做什么begindate,eventdate之类的东西,如果说你自用他作为一个operatetime也就算了,begindate之类的东西看名称就知道,用于一些业务上的验证,可是,当程序中出现这样的东西时,对系统就是一个严重的Bug。还有人喜欢用Calendar.getInstance().getTime();去和某些数据库中的其他时间进行比较,当那个比另一个大时,就如何如何,这样有意义么? 大多数情况下,也该算是个bug吧!

     希望大家出了在一些日志功能中用Calendar.getInstance().getTime(); 别的地方不要用!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在 Linux 系统中,可以使用以下命令对比当前系统时间和北京时间的差异: 1. 首先,使用以下命令查看当前系统时间: ``` date ``` 该命令会输出当前系统时间,例如: ``` Tue Aug 31 15:27:08 UTC 2021 ``` 2. 接下来,需要获取北京时间。可以使用以下命令,从国家授时中心获取北京时间: ``` curl -s http://www.ntsc.ac.cn|sed -n '/^<script type="text\/javascript">/,/<\/script>/p'|sed -n '3p'|awk -F"\"" '{print $2}' ``` 该命令会输出当前的北京时间,例如: ``` 2021-08-31 23:27:08 ``` 注意:以上命令需要使用互联网连接到国家授时中心获取北京时间,如果网络不通或者国家授时中心服务不可用,将无法获取到北京时间。 3. 最后,计算当前系统时间和北京时间的差异。可以将系统时间和北京时间转换为时间戳,然后计算它们的差值。使用以下命令可以将时间转换为时间戳: ``` date -d "时间" +%s ``` 其中,将 "时间" 替换为具体的时间,如 "Tue Aug 31 15:27:08 UTC 2021" 或 "2021-08-31 23:27:08"。该命令会输出时间时间戳。 然后,可以使用以下命令计算当前系统时间和北京时间的差异: ``` echo "$(($(date -d "北京时间" +%s) - $(date +%s)))" ``` 其中,将 "北京时间" 替换为具体的北京时间,如 "2021-08-31 23:27:08"。该命令会输出当前系统时间和北京时间的差值,单位为秒。 如果输出结果为正数,表示当前系统时间比北京时间晚;如果输出结果为负数,表示当前系统时间比北京时间早。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值