Java1.8版本后对时间的处理常用的API


这里主要是一些可能会经常用到的方法说明,如果想看全部的,可以自行查看Java的API文档。

DateTimeFormatter

对时间进行格式化,与SimpleDateFormat相比,DateTimeFormatter是线程安全的

	LocalDateTime of = LocalDateTime.of(2020, 12, 21, 12, 30, 59);
	//输出为:2020-12-21T12:30:59
	System.out.println(of);
	//定义格式化规则
	DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
    //对数据进行格式化,这也是将 LocalDateTime 转为String字符串的方法
    String format = dateTimeFormatter.format(of);
    System.out.println(format);//2020/12/21 12:30:59

LocalDateTime

LocalTime是LocalDate与LocalTime的结合。

	/*
	依次输入年、月、日、时、分、秒。如果任何字段的值超出范围,或者如果月的日期对于月份无效,
	会报DateTimeException 异常
	*/
	LocalDateTime of = LocalDateTime.of(2020, 12, 21, 12, 30, 59);
	//输出为:2020-12-21T12:30:59
	System.out.println(of);
	
	//将String字符串转化为LocalDateTime类型,使用静态的parse方法
	//1、直接使用parse方法,这个时间字符串必须是yyyy-MM-ddTHH:mm:ss这种格式才可以,否则会报异常
	LocalDateTime parse = LocalDateTime.parse("2020-12-02T12:30:20");
	//2、使用parse的重载方法,
	DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
	/*
	这时就可以按照parse解析的字符串格式必须和dateTimeFormatter 定义的一致,当然我们可以更改规则,
	同时也要更改parse要解析的String格式
	可以根据String类型的格式,去定义DateTimeFormatter的规则
	*/
	LocalDateTime parse = LocalDateTime.parse("2020-12-02 12:30:20", dateTimeFormatter );
	//接下来我们可以进行一系列操作

	//获取 年
	 int year = of.getYear();
	 System.out.println(year);
	 //获取 月
     int month = of.getMonthValue();
     System.out.println(month);
     //获取 月份的第几天
     int day = of.getDayOfMonth();
     System.out.println(day);
     //一年中的第几天
     int dayOfYear = of.getDayOfYear();
     System.out.println(day);
	//获取 时
     int hour = of.getHour();
     System.out.println(hour);
     //获取 分
     int minute = of.getMinute();
     System.out.println(minute);
     //获取 秒
     int second = of.getSecond();
  	 System.out.println(second);

当然关于时间的处理不止这些,还有许许多多的API,这里只是写了一些可能常用的