JDK1.8版本后更新的时间类,简单介绍LocalDate,LocalTime,LOcalDateTime的用法.
创建时间对象
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
public class Test {
public static void main(String[] args) {
// 日期时间
// JDK1.8以后提供的新的时间相关的类
// 获取当前的年月日
LocalDate date = LocalDate.now();
System.out.println(date);
// 获取当前的时分秒,精确到毫秒
LocalTime time = LocalTime.now();
System.out.println(time);
// 剔除毫秒
LocalTime time2 = LocalTime.now().withNano(0);
System.out.println(time2);
// 获取年月日时分秒
LocalDateTime dateTime = LocalDateTime.now();
System.out.println(dateTime);
}
}
常用的方法
import java.time.LocalDate;
public class Test2 {
public static void main(String[] args) {
// 2014-12-02
// 把字符串转换为LocalDate,必须使用下面的格式
LocalDate date1 = LocalDate.parse("2014-12-02");
System.out.println(date1);
System.out.println(date1.getYear() + "年" );
System.out.println(date1.getMonthValue() + "月");
System.out.println(date1.getDayOfMonth() + "日");
System.out.println("这一年的第: " + date1.getDayOfYear());
System.out.println("周几" + date1.getDayOfWeek());
System.out.println("32天后:" + date1.plusDays(32));
System.out.println("32天前:" + date1.minusDays(32));
// ?年/月/周之后
date1.plusMonths(2);
date1.plusWeeks(2);
date1.plusYears(2);
// ?年/月/周之前
date1.minusDays(2);
date1.minusWeeks(2);
date1.minusYears(2);
// 是不是闰年
date1.isLeapYear();
}
}
格式问题
public class Test3 {
public static void main(String[] args) {
LocalDate date = LocalDate.now();
// 设置一下日期的自定义输出格式
// y 年 M 月 d 日
// 这里写什么就输出什么 把字母替换为数字
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
// 把日期转换为指定格式的字符串
System.out.println(dtf.format(date));
LocalDate date2 = LocalDate.parse("2019年02月25日",dtf);
System.out.println(date2);
// LocalDate LocalTime 和 LocalDateTime 也是一样的操作
// H m s
}
}