import java.time.LocalDate;
import java.time.Period;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
/**
* 日期时间格式之间的相互转换
*/
public class Demo {
public static void main(String[] args) {
//在这里传入需要解析的日期字符串格式,需要一一对应需要解析的字符串格式
DateTimeFormatter d = DateTimeFormatter.ofPattern("yyyy年-M月-d日");
//生成好formatter解析器后,就可以用于接收解析字符串了
// DateTimeFormatter,只要创建的时候格式对应需要解析的字符串格式,都会生成自己特定的日期格式可以被LocalDate识别
//解析字符串后获得,解析后的格式,此时可以被LocalDate识别如{},ISO resolved to 1888-06-06
TemporalAccessor parse = d.parse("1888年-12月-16日");
System.out.println(parse);
//LocalDate parse方法,可以直接格式化 "1888-12-06"指定日期类型的字符串
//但是无法解析1888-12-6 非指定格式的字符串
//LocalDate 可以识别被DateTimeFormatter解析之后的特定格式
LocalDate localDate = LocalDate.from(parse);
System.out.println(localDate);
//Period 用于计算日期之间的间隔, 年月日,
Period pBetween = Period.between(localDate, LocalDate.now());
System.out.println(pBetween);
//Duration 用于计算时间间隔 时分秒,毫秒,纳秒
//LocalDate 解析指定格式的字符串
LocalDate localdate = LocalDate.parse("2021年4月11日", DateTimeFormatter.ofPattern("yyyy年M月d日"));
System.out.println(localdate);
}
}
日期时间格式之间的相互转换
最新推荐文章于 2024-03-01 16:29:58 发布