一、关于LocalDate的简单实用
1、获取本地的时间使用 LocalDate date = LocalDate.now(); LocalDate支持时间的加减法:可以对月份,年或者日进行加减法。比如计算本月的第一天可以如下操作:
LocalDate date = LocalDate.now(); int today = date.getDayOfMonth(); date = date.minusDays(today - 1);
如上最终date显示的就是本月的第一天。创建当前的日期 -》获取今天是本月的第几天 -》然后将日期减去(today - 1) 则得到本月的第一天
如下是日历的一个打印函数,作为LocalDate的一个简单的例子的学习
private static void printDate() { LocalDate date = LocalDate.now(); int today = date.getDayOfMonth(); int month = date.getMonthValue(); date = date.minusDays(today - 1); System.out.println("Mon Tue Wed Thu Fri Sat Sun"); DayOfWeek dayOfWeek = date.getDayOfWeek(); for (int i = 1; i < dayOfWeek.getValue(); ++i) { System.out.print(" "); } while (date.getMonthValue() == month) { System.out.printf("%3d", date.getDayOfMonth()); if (date.getDayOfMonth() == today) { System.out.print("*"); } else { System.out.print(" "); } date = date.plusDays(1); if (date.getDayOfWeek().getValue() == 1) { System.out.println(); } } }View Code
二、关于Date的简单使用
1、Date的获取当前时间的方式不同,LocalDate使用.now的方式进行获取但是Date则使用:Date now = new Date();
2、如果要指定确定的时间则可以通过SimpleDateFormat这个类进行转换
String dateString = String.format("%04d-%02d-%02d", year, month, day); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { hireDay = dateFormat.parse(dateString); } catch (ParseException e) { e.printStackTrace(); }
这里先将指定的年月日转换为标准的字符串格式,然后通过SimpleDateFormat.parse进行格式转换为Date类型的数据;那么最终打印出的hireDay 可能是如下所示的时间:hireDay=Sun Jan 01 00:00:00 CST 1989
另外,这里使用try-catch的方式是因为parse可能会发生异常,所以调用parse的时候系统强制要求增加该异常处理函数
3、如果将Date格式的时间转换为数值的年月日,可以通过Calendar函数进行转换
Calendar calendar = Calendar.getInstance(); calendar.setTime(hireDay); System.out.println("year:" + calendar.get(Calendar.YEAR) + " month:" + calendar.get(Calendar.MONTH) + " day:" + calendar.get(Calendar.DAY_OF_MONTH));
通过调用Calendar.getInstance(); 返回对应的Calendar对象;该对象会设置默认的时区(本地的时区)还有当前的时间;当然也可以在getInstance中指定时区等参数
然后设置Date类型的时间,最后可以通过获取对应的年月日了。
如上的一个可能输出是:year:1989 month:0 day:1;注意这里month是从0开始
4、当我们在设置完成hireDay之后,获取这个hireDay的时候记得使用clone的方式,否则会出现hireDay在外部被更改的情况
public Date getHireDay() { return (Date) hireDay.clone(); }
标签:java,System,date,hireDay,Date,Calendar,LocalDate From: https://www.cnblogs.com/czwlinux/p/16724675.html