日期时间
- 【强制】日期格式化时,传入pattern中表示年份统一使用小写的y。
说明:日期格式化时,yyyy表示当天所在的年,而大写的YYYY代表是week in which year(JDK7之后引入的概念),意思是当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,返回的YYYY就是下一年。
正例:表示日期和时间的格式如下所示:
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
【强制】在日期格式中分清楚大写的M和小写的m,大写的H和小写的h分别指代的意义。
说明:日期格式中的这两对字母表示意思如下:
表示月份的是大写的M;表示分钟则是小写的m;24小时制的是大写的H;12小时制的则是小写的h。 -
【强制】获取当前毫秒数:System.currentTimeMillis();而不是new Date().getTime()。
-
【强制】不允许在程序任何地方中使用:1)java.sql.Date;2)java.sql.Time;3)java.sql.Timestamp。
-
【强制】不要在程序中写死一年为365天,避免在公历闰年出现日期转换错误或程序逻辑错误。
正例:
// 获取今年的天数
int daysOfThisYear = LocalDate.now().lengthOfYear();
// 获取指定某年天数
LocalDate.of(2011,1,1).lengthOfYear();
反例
// 第一种情况:在闰年366天时,出现数组越界异常
int[] dayArray = new int[365];
// 第二种情况:一年有效期的会员制,今年1月26日注册,硬编码365返回的确实1月25日
Calendar calendar = Calendar.getInstance();
calendar.set(2022,1,26);
calendar.add(Calendar.Date,365);