• 日常入坑1-Calendar类


    1.当前时间是一号的时候,通过计算上一天的日期的时候,需要注意了

    Calendar calendar = Calendar.getInstance();
    calendar.set(2019,10,1);
    calendar.set(Calendar.DAY_OF_MONTH,-1);
    时间为2019.11.1计算上一天的日期是多少,得出的结果时间为2019.10.30,这样你就纳闷了?为什么,明明10月份是31天啊,2019.11.1的上一天应该是20.19.10.31才对,解决办法2种:
    (1)按小时往前推

    Calendar calendar = Calendar.getInstance();
    calendar.set(2019,10,1);
    calendar.set(Calendar.HOUR_OF_DAY,-24);//此处按照小时去推算时期可以避免上月是31天,却错误按照30天计算的错误,但解决方法上2更好

    (2)GMT时间:即格林威治平时(Greenwich Mean Time)。平太阳时是与视太阳时对应的,由于地球轨道非圆形,运行速度随地球与太阳距离改变而出现变化,因此视太阳时欠缺均匀性。为了纠正这种不均匀 性,天文学家就计算地球非圆形轨迹与极轴倾斜对视太阳时的效应,而平太阳时就是指经修订之后的视太阳时。在格林威治子午线上的平太阳时称为世界时(UTC), 又叫格林威治平时(GMT)。所以设置中国区属于东八区,设置时区即可。

    
    
    
    
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeZone(TimeZone.getTimeZone("GMT"));//重要
    calendar.set(2019,10,1);
    calendar.set(Calendar.HOUR_OF_DAY,-24); //calendar.set(Calendar.DAY_OF_MONTH,-1); 这两种都可行了

  • 相关阅读:
    初探 Redis 客户端 Lettuce:真香!
    vscode 代码中查找并替换为换行符
    Jenkins Kubernetes插件添加 云
    Jenkins kubernetes插件的原理
    jenkins pipeline实现自动构建并部署至k8s
    python3 requests中的 stream参数
    rsync 开启用户密码认证
    rancher1版本 基本使用
    nginx http跳https
    sed合并多条指令修改文本
  • 原文地址:https://www.cnblogs.com/911sky/p/12105298.html
Copyright © 2020-2023  润新知