前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统跨年的那些事儿

系统跨年的那些事儿

作者头像
静儿
发布2022-05-06 13:51:50
4190
发布2022-05-06 13:51:50
举报
文章被收录于专栏:编程一生

大家过年好!

跨年夜除了好好享受假期,系统上从技术上到业务上,都有值得关注的事儿。一年才触发一次,频率低,风险高。更需谨慎。

由于今年是我的本命年。本命年犯太岁。“太岁当头坐 ,无喜必有祸”。本命年顺的话,一顺百顺,鸿运当头,势不可挡。所以今天的标题全用大红色~~

经典跨年Bug

在2021年的最后两分钟,我怀着忐忑和期待的心情迎接着本命年。并匆忙写下下面的代码:

代码语言:javascript
复制
import cn.hutool.core.date.DateTime;
代码语言:javascript
复制
public void test() throws Exception {
    System.out.println(new DateTime().toString("YYYY-MM-dd HH:MM:SS"));
}

运行结果:

2022-12-31 23:12:651

很多朋友知道我侧重于稳定性方面的研究,但是最近提这个词提的少了。在《架构-稳定性建设逻辑问题实战总结》《稳定性的海因里希法则》里我也总结过:稳定性更多的是意识,不是方法。 稳定性方法本质就是两点:

  • 多问几个为什么
  • 多问几个如果发生了某某问题怎么办

这里本质上就是一个“为什么”的问题:所用的技术一定要深入理解。这个运行结果可能和一些人想象的不一致,本质上不是技术上的坑,而是对于日期格式化符号没有理解。 在Java的SimpleDateFormat类注释中有一张表,如下表所示:

在规定中,y表示year,而Y表示Week Year!

什么是Week Year

我们知道,不同的国家对于一周的开始和结束的定义是不同的。如在中国,我们把星期一作为一周的第一天,而在美国,他们把星期日作为一周的第一天。因为不同人对于日期和时间的表示方法有不同的理解,于是,大家就共同制定了了一个国际规范:ISO 8601 。

国际标准化组织的国际标准ISO 8601是日期和时间的表示方法,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》。

在 ISO 8601中。week year是说某一周只能属于一个年份。2021年12月31日不能既属于今年的最后一个星期,又是明年的第一个星期。

对于一年的第一个week year有以下3种等效说法:

1,本年度第一个星期四所在的星期

2,本年度第一个至少有4天在同一星期内的星期

3,星期一在去年12月29日至今年1月4日以内的星期

按照这个规范,2021年12月30日是星期四,满足是新一年的第一个星期。那就是说打从2021年12月26日(星期日,ISO 8601中这是一周的第一天)开始,week year就已经是2022年了,新年已经到来了6天了!

日期格式化符号里M大写的代表月份,小写m代表分钟,大写S代表毫秒,小写s代表秒。而一个日期格式化符号出现多少次就代表最少占多少位,不够的前面补0。

代码语言:javascript
复制
public void test() throws Exception {
    System.out.println(new DateTime(DateTime.of("2021-12-26","yyyy-MM-dd"))
            .toString("yyyy-MM-dd HH:mm:sssss"));

}

运行结果:

2021-12-26 00:00:00000

业务经典问题 2022年1月1日 0点10分。已经收到一些消息:网上反映QQ红包服务器炸了、QQ红包发不出去,拼多多红包提现慢、不能提现,微信红包提示使用人数过多等。说明大家对新年活动的参与度很高嘛。 其实在各个领域都有一些跨年的业务要特殊处理。最常见的一个例子就是“年终决算”。在各个银行,年终决算就是要把账结清。如果一边在做业务,一边在算账,很难算清楚。所以很多系统干脆暂停业务来进行年终决算。 年终决算并不是会计等领域的特定名词。早年的农村生产大队也要进行年终决算。办年终结算首先要列出6个指标来: 1,生产队总收入 2,生产队净收入

3,可分配收入

4,全年劳动日值,也就是说社员劳动一天折算的工分换成现金有多少钱

5,每户社员应当分配的数额 6,每户社员应当分配的实物和现金数量 是不是听起来相当专业,据说那时候每个生产队都会有一两个这方面的高手,精通珠算。让人不禁感叹:高手在民间。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-01-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档