前言
基本上大家在JAVA中获取时间都是使用java.util.Date类或使用java.util.Calendar日历类,本篇博文主要给大家介绍Java8以后时间类java.time.LocalDateTime,这个时间类是Java8版本新增类,在使用度上肯定是没有Date,Calendar广,下面我们就来看看LocalDateTime常用方法。
代码实现
package test;
import java.time.DayOfWeek;
import java.time.LocalDateTime;
import java.time.temporal.WeekFields;
public class Test {
public static void main(String[] a){
//获取当前时间
LocalDateTime currentDate = LocalDateTime.now();
//获取年份
int year = currentDate.getYear();
System.out.println("获取当前年份:" + year);
//获取月份
int month = currentDate.getMonthValue();
System.out.println("获取当前月份:" + month);
//获取当前周
int week = currentDate.getDayOfWeek().getValue();
System.out.println("获取当前周:" + week);
//获取当前时间第X周
/* public static WeekFields of(DayOfWeek firstDayOfWeek, int minimalDaysInFirstWeek) 从第一天和最小日期获得WeekFields的实例。 第一天的每周定义ISO DayOfWeek ,即一周中的第一天。 第一周的最小天数定义一个月或一年中必须存在的天数,从第一天开始,在将一周计算为第一周之前。 值1将计算作为第一周的一部分的月或年的第一天,而值7将要求整个七天在新的月或年中。 WeekFields实例是单例; 对于firstDayOfWeek和minimalDaysInFirstWeek的每个唯一组合,将返回相同的实例。 参数 firstDayOfWeek - 一周的第一天,不是null minimalDaysInFirstWeek - 第一周的最小天数,从1到7 */
WeekFields weekFields = WeekFields.of(DayOfWeek.MONDAY,1);
int weeks = currentDate.get(weekFields.weekOfYear());
System.out.println("获取当前时间第" + weeks + "周");
}
}
控制台执行结果