阿里巴巴Java开发文档2020版学习-日期时间
5.日期时间
(1)【强制
】日期格式化时,传入 pattern 中表示年份统一使用小写的 y。
说明:日期格式化时,yyyy 表示当天所在的年,而大写的 YYYY 代表是 week in which year(JDK7 之后引入的概念),意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,返回的 YYYY就是下一年。
正例: 表示日期和时间的格式如下所示:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
备注: 例如2021年12月31日,所在的周的最后一天是2022.1.1日所以YYYY返回的年为2022年,所以在日期使用的时候用yyyy-MM-dd HH:mm:ss
格式就可以了。
运行效果:
(2)【强制
】在日期格式中分清楚大写的 M 和小写的 m,大写的 H 和小写的 h 分别指代的意义。
说明: 日期格式中的这两对字母表意如下:
- 表示月份是大写的 M;
- 表示分钟则是小写的 m;
- 24 小时制的是大写的 H;
- 12 小时制的则是小写的 h。
(3)【强制
】获取当前毫秒数:System.currentTimeMillis();
而不是 new Date().getTime()
。
说明:如果想获取更加精确的纳秒级时间值,使用 System.nanoTime
的方式。在 JDK8 中,针对统计时间等场景,推荐使用 Instant
类。
相关链接学习:
Java 8 Instant 时间戳小记
new Date().getTime()和System.currentTimeMillis()获取时间戳的比较
(4)【强制
】不允许在程序任何地方中使用:
- java.sql.Date
- java.sql.Time
- java.sql.Timestamp。
说明: 第 1 个不记录时间,getHours()抛出异常;第 2 个不记录日期,getYear()抛出异常;第 3 个在构造方法 super((time/1000)*1000),fastTime 和 nanos 分开存储秒和纳秒信息。
反例: java.util.Date.after(Date)进行时间比较时,当入参是 java.sql.Timestamp 时,会触发 JDKBUG(JDK9 已修复),可能导致比较时的意外结果。
(5)【强制
】不要在程序中写死一年为 365 天,避免在公历闰年时出现日期转换错误或程序逻辑错误。
正例:
反例:
(6) 【推荐】避免公历闰年 2 月问题。闰年的 2 月份有 29 天,一年后的那一天不可能是 2 月 29日。
(7) 【推荐】使用枚举值来指代月份。如果使用数字,注意 Date,Calendar 等日期相关类的月份month 取值在 0-11 之间。
说明: 参考 JDK 原生注释,Month value is 0-based. e.g., 0 for January.
正例: Calendar.JANUARY,Calendar.FEBRUARY,Calendar.MARCH 等来指代相应月份来进行传参或比较。
阿里巴巴Java开发文档2020版学习-日期时间相关推荐
- python飞机大战概要设计_飞机大战游戏开发文档(Android版)
飞机大战游戏 开发文档 (Android版) 课程名称:飞机大战游戏 课程类型:Android游戏编程精彩内容,尽在百度攻略:https://gl.baidu.com 姓名:苏均灿 学号:131342 ...
- 【校招VIP】线上实习 推推 书籍详情模块 Java开发文档周最佳
[推推]主要是为校招设计的小说一更新就通知的项目,每个模块都具有亮点和难点,项目表现为手机网站应用,可嵌入小程序或APP中. 恭喜来自 四川师范大学 的 o0hana 同学获得本周线上实习[推推]第一 ...
- 【校招VIP】“推电影”第一期电影详情模块Java开发文档作业评审1
前言:关于[推电影]免费在线实习项目 一.本项目是基于年轻人的喜好,更个性的电影推荐网站.筛选各分类的知名电影,并给出推荐理由和下载链接.另外,通过标签功能匹配个人喜好,实现个性化推送. 二.项目表现 ...
- anychat java开发文档_AnyChat视频云平台开发指南
本帖最后由 佰锐科技-刘冬明 于 2017-9-13 11:59 编辑 简介: AnyChat视频云平台提供线上的音视频通信.多应用接入.即时通讯.全景录像.智能排队,直播.点播等服务.为您定制个性化 ...
- java 自动生成文档_[原]java开发文档的自动生成方式
对于Java注释我们主要了解三种: // 注释一行 /* ...... */ 注释若干行 第三种,文档注释: /** ...... */ 注释若干行,并写入 javadoc 文档 通常这种注释的多行写 ...
- 阿里巴巴java开发手册(2020版)
2020版 链接: https://pan.baidu.com/s/1Zls_FUBKfGksU1GR3BGGGA 密码:titz 2019版 链接:https://pan.baidu.com/s/1 ...
- java开发文档怎么写_程序员该不该写技术文档,怎么写文档,易懂又能提升自己...
最近公司项目的调用量突然涨了一大波,很多系统都纷纷扛不住了,于是需要对系统进行优化,系统优化的第一步,便是梳理业务! 在这个过程中,经常出现了这样一些情况,发现数据库的某些字段,没有注释,也没有一定的 ...
- netty java开发文档_Netty简明教学文档
写个简单点,比较小白的文档,言语比较接地气 Netty是什么? NIO的高层封装,NIO很难写,所以有了Netty,方便异步的操作 service的主要代码片段 public void run() t ...
- netty java开发文档_《Netty官方文档》设置开发环境
原文链接 译者:dan QQ:903585177 请注意:这个指南并不是用户指南,它是开发 Netty 本身的指南,而不是使用Netty 开发其他程序的指南. 使用64位操作系统 必须使用64位操 ...
- java 开发文档协作_Java 网络编程---分布式文件协同编辑器设计与实现
目录: 第一部分:Java网络编程知识 (一)简单的Http请求 一般浏览网页时,使用的时Ip地址,而IP(Internet Protocol,互联网协议)目前主要是IPv4和IPv6. IP地址是一 ...
最新文章
- 《松本行弘的程序世界》中文版原作者序
- oracle32位11g中文乱码,win7 64位系统 Oracle32bit + PL/SQL访问Orale服务,Oracle 11g的安装,中文乱码问题的解决...
- Linux sudo找不到命令:修改sudo的PATH路径
- Linux日志被删处理方法
- python的搜题软件-2020中国大学MOOC的APP慕课Python编程基础题目答案
- Java来做马里奥[0]—让精灵再次舞动
- Linux下源码安装ElasticResearch
- php获取省市区区划代码,使用PHP解析行政区划代码
- Redhat 更换阿里yum源
- SPL lookup
- Android代码实现——拨打电话和发送短信APP
- 龙之气息服务器维修,龙之气息转职NPC位置大全 转职NPC在哪找
- 【Python】EasyGUI实例——实现NJUCM绩点计算器程序
- 【linux】僵尸进程(Defunct进程)的产生与避免
- vue-element-admin动态加载接口和报错解决
- 【PaddleNLP实战】对话意图分类方案
- 基于Linux+ARM的远程视频监控--系列开题
- 桌面云、云桌面的区别
- 【重磅整理】提前看287篇ICLR-2021 深度强化学习领域论文得分汇总列表
- HEVC算法和体系结构:编码框架
热门文章
- 哈曼基于英特尔计算平台(Apollo Lake和ACRN)展示新一代“智能驾驶舱”
- 各行各业有对象系列之三:对象存储与银行
- 【TSP】基于matlab蚁群算法求解31城市旅行商问题【含Matlab源码 1147期】
- 【图像处理】基于matlab GUI打靶仿真系统【含Matlab源码 1043期】
- 【优化求解】基于matlab罚函数的粒子群算法函数寻优【含Matlab源码 216期】
- Spring中@Autowired注入static静态变量空指针异常
- linux git 撤销删除文件,git 撤销回滚学习
- php 怎么更新浏览器缓存文件在哪里,PHP 设置动态网页在浏览器的缓存
- 初一计算机课学什么,初一有哪几门课程 各科满分是多少
- python:argsort(返回元素排序后的索引值)