首页 > 编程语言 >[编程笔记] 系统日期格式引起的bug

[编程笔记] 系统日期格式引起的bug

时间:2024-11-26 09:43:50浏览次数:5  
标签:编程 MM dd 09 笔记 yyyy mm HH bug

    系统获取的日期格式不对,导致程序出现异常,出现过多次了,这里记录一下。

    起因是测试说某个跟日期相关的活动,在他环境里失效,而我们开发本地测试了多遍都是正常的,这就很奇怪了,有种想给他重装系统的念头,哈哈。

    经过一系列的分析和排查,发现是他本地系统设置的日期格式和我们不一样导致的:

     带星期了。 Windows默认是年月日时分秒,yyyy/MM/dd HH:mm:ss这种,但是可以改成yyyy/MM/dd dddd HH:mm:ss,手动改系统设置,或者某些软件修改成这种。

    那么如果我们编程时,不加注意,就容易产生问题,比如我们这么写代码:

    多数时候我们以为输出是yyyy/MM/dd HH:mm:ss,其实不是,具体输出什么跟你设置的系统格式有关,系统设置的是yyyy/MM/dd dddd HH:mm:ss,那么输出的日期里就带星期,有些地方截取字符串不当,又没有做异常处理,可能就报错了。

    比如返回的是2024/11/26 星期二 09:09:09,如果写代码不规范,根据空格去截取后面的时分秒,按yyyy/MM/dd HH:mm:ss去设想,Split(' ')[1]这么写,那么截取的就是“星期二”,而不是“09:09:09”。

    当然,取时间部分有更合适的方法,这里不做过多说明,而是强调我们可以在获取当前系统时间时,根据自己的需要指定一下格式,避免在不同的人电脑上出现不一样的结果,从而引发问题:

    客户的环境是千奇百怪的,一行代码实现功能,百行代码防“***民”,还是要严谨。

    很细节的一个问题,但是如果不是刚好有同事系统是那个格式,等发到生产环境有客户遇到的话,那可能就事大了。

标签:编程,MM,dd,09,笔记,yyyy,mm,HH,bug
From: https://www.cnblogs.com/sunshine-wy/p/18569381

相关文章

  • 幼儿编程启蒙、幼儿实物编程
    幼儿编程启蒙乐园第一集幼儿编程启蒙乐园第一集_哔哩哔哩_bilibili幼儿编程启蒙乐园幼儿编程启蒙乐园_哔哩哔哩_bilibili3-6岁线上实物编程3-6岁线上实物编程-网易云课堂3-6岁线上实物编程-学习视频教程-腾讯课堂适合低年龄孩子的儿童实物编程来了!适合低......
  • Go进阶21:Goland 6条Tips让编程更有效率
    作为一个重度使用JetbrainsIDE全家桶的用户.这里我有几条可以加速您开发速度,减少您Paste/Copy敲打键盘的Tips.1.快速实现Interface操作步骤:光标移动到struct名称上Alt/Option+Enter选择ImplementInterface…Control+I搜索您需要实现的interface2.快速抽象I......
  • shell编程(五):条件判断和循环结构
    声明:学习视频来自B站up主泷羽sec有兴趣的师傅可以关注一下,如涉及侵权马上删除文章。笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!一、IF条件判断和循环结构1、条件判断(1)-eq(相等......
  • 工作学习笔记(十五)Mybatis-Plus项目中使用eq
    在今天的工作中遇到了一个问题,在这记录一下第一次使用eq()。方法作用它的主要作用是在构建SQL查询语句的条件部分时,添加一个等于的判断条件。例如,当你想从数据库表中查询出某一字段值等于特定值的记录时,就可以使用eq()方法来实现这个条件构建。方法语法及参数说明语法:......
  • Java编程----利用Map集合设计一个车站上下车的程序
    1.将以下车站对应关系的数据存储到map集合中,key:表示站编号,value:表示站名,并遍历打印(可以不按顺序打印):2.计算地铁票价规则:总行程3站内(包含3站)收费3元,3站以上但不超过5站(包含5站)的收费4元,5站以上的,在4元的基础上,每多1站增加......
  • Java编程学习五
    一、数组的缺陷:二、集合框架三、Vector类四、ArrayList集合五、LinkedList集合六、泛型七、HashSet八、HashMap一、数组的缺陷:1.数组存在定容问题,一旦定义长度,就固定了容量,有时候定义的数据量不一定,很难保证容量不越出;如果需要存储更多或更少的元素,可能需要创建一个新......
  • Java编程学习六
    javaIO操作:Java中,Io操作主要是指使用Java进行输入和输出操作。Java中所有的IO机制都是基于数据流进行输入输出的。这些数据流表示了字符或者字节数据的流动序列。在Java中进行io操作,通常需要用到Java.io包中的类。比如说fiel类,用于表示文件和目录路径名的抽象表示形式。。......
  • 微信小程序导航方式详解:声明式导航与编程式导航
    微信小程序导航方式详解:声明式导航与编程式导航引言在微信小程序的开发中,页面导航是实现用户交互的重要组成部分。小程序提供了两种主要的导航方式:声明式导航和编程式导航。了解这两种导航方式的特点、使用场景及其优缺点,对于提升小程序的用户体验和开发效率至关重要。本......
  • 程序员修炼之道,从小工到专家 阅读笔记
    时间管理的重要性:时间是程序员最宝贵的资源,要学会如何高效利用。提出了时间管理的基本原则,例如优先任务、避免拖延等。设定优先级:使用“重要-紧急”矩阵来评估和排序任务。先完成重要且紧急的工作,然后是重要但不紧急的任务。专注(DeepWork):强调在编程时应减少干扰,保持专......
  • python复习笔记——2024.11.25
    2024.11.25一、类的定义二、类与实例的关系#定义一个猫类,age,name,color是属性,或者称为成员变量classCat: age=Nonename=Nonecolor=Nonecat1=Cat()#通过对象名.属性名,可以给各个属性赋值cat1.name="小白"cat2,age=2cat3.color="白色"print(f......