Java 8 新日期时间相关类

LocalDate(本地日期)、LocalTime(本地时间)、LOcalDateTime(本地日期时间)

这三个类都是不可变类型,主要方法是类似主要of和now,他们都是静态方法。

now()方法说明如下:

static LocalDate now(): LocalDate静态工厂方法,该方法使用默认时区获得当前日期,返回LocalDate对象。

static LocalTime now():LocalTime静态工厂方法,该方法使用默认时区获得当前时间,返回LocalTime对象。

static LocalDateTime now():LocalDateTime静态工厂方法,该方法使用默认时区获得当前日期时间,返回LocalDateTime对象。

of()方法有很多重载方法,说明如下:

static LocalDateTime of(int year,int mouth,int dayOfMonth,int hour,int minute,int second):按照指定的年、月、日、小时、分钟和秒获得

LocalDateTime 实例,将纳秒设置为零。

static LocaTime of(int hour,int minute,int second):按照指定的小时、分钟和秒钟获取一个LocaTime 实例。

static LocaTime of(int year,int month,int dayOfMonth):按照指定的年、月和日获得一个.

代码实例: 

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

public class DateTime {

	public static void main(String[] args) {
		//使用now方法获得LocalDate对象
		LocalDate date1=LocalDate.now();
		System.out.println("date1="+date1);
		
		//使用of方法获得LocalDate对象2020-03-05
		LocalDate date2=LocalDate.of(2020,3,5);
		System.out.println("date2="+date2);
		
		//使用now方法获得LocalTime对象
		LocalTime time1=LocalTime.now();
		System.out.println("time1="+time1);
		
		//使用of方法获得LocalTime对象08:58:20
		LocalTime time2=LocalTime.of(8,58,20);
		System.out.println("time2="+time2);
		
		//使用now方法获得LocalDateTime对象
		LocalDateTime dateTime1=LocalDateTime.now();
		System.out.println("dateTime1="+dateTime1);
		
		//使用of方法获得LocalDateTime对象2020-03-05T08:58:20
		LocalDateTime dateTime2=LocalDateTime.of(2020,3,5,8,58,20);
		System.out.println("dateTime2="+dateTime2);
		
	}

结果打印

 日期格式化和解析

java.time.format.DateTimeFormatter日期格式化,在借助于LocalDate、LocalTime和LocalDateTime的相关方法。

1、日期格式化

日期格式化方法是format,这三个类每一个都有String format(DateTimeFormatter fonnatter),参数formatter是DateTimeFormatter类型。

2、日期解析

日期解析方法是parse,这三个类每一个都有两个版本的parse方法,具体说明如下

static LocalDateTime parse(CharSequence text):使用默认格式,从一个文本字符串获取一个 LocalDateTime实例,如2020-03-05T22:14:55。

static LocalDateTime parse(CharSequence text,DateTimeFormatter formatter):使用指定格式化,从文本字符串获取LocalDateTime 实例。

static LocalDate parse(CharSequence text):使用默认格式,从一个文本字符串获取一个LocalDate 实例,如2020-03-05。

static LocalDate parse(CharSequence text,DateTimeFormatter formatter):使用指定格式化,从文本字符串获取LocalDate 实例。

static LocalTime parse(CharSequence text):使用默认格式,从一个文本字符串获取一个LocalTime 实例。

static LocalTime parse(CharSequence text,DateTimeFormatter formatter):使用指定的格式化,从文本字符串获取LocalTime 实例。

代码实例: 

public class DateTimeFormatter {

	public static void main(String[] args) {
		//创建LocalDateTime对象
		LocalDateTime dateTime=LocalDateTime.now();
		System.out.println("dateTime格式化之前:"+dateTime);
		
		//设置格式化器
		DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
		String text = dateTime.format(formatter);
		System.out.println("dateTime格式化之后:"+text);
		
		//格式化字符串“2020-03-05 22:25:55” 返回LocalDateTime对象
		LocalDateTime parsedDateTime=LocalDateTime.parse("2020-03-05 22:25:55",formatter);
		System.out.println("LocalDateTime解析之后:"+parsedDateTime);
		
		//创建LocalDate对象
		LocalDate date = LocalDate.now();
		System.out.println("date格式化之前:"+date);
		
		//重新设置格式化器
		formatter=DateTimeFormatter.ofPattern("yyyy:MM:dd");
		text=date.format(formatter);
		System.out.println("date格式化之后:"+text);
		
		//格式化字符串“2020-03-05”。返回LocalDate对象
		LocalDate parsedDate=LocalDate.parse("2020-03-05",formatter);
		System.out.println("LocalDate解析之后:"+parsedDate);
		
		//创建LocalTime对象
		LocalTime time=LocalTime.now();
		System.out.println("time格式化之前:"+time);
		
		//重新设置格式化器
		formatter=DateTimeFormatter.ofPattern("HH:mm:ss");
		text=time.format(formatter);
		System.out.println("time格式化之后:"+text);
		
		//格式化字符串“22:25:55”,返回LocalTime对象
		LocalTime parsedTime = LocalTime.parse("22:25:55",formatter);
		System.out.println("LocalTime解析之后:"+parsedTime);
		
	}
}
发布了96 篇原创文章 · 获赞 13 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_39559301/article/details/104665093
今日推荐