LocalDate
是日期的不可变类,默认格式yyyy-MM-dd. 可以用 now()
方法获取当前日期,也可以传入年月日创建实例。这个类还提供了now()的重载方法,可以传入一个时区拿到现在那个时区的日期. java.sql.Date
有的功能它都有。
import java.time.LocalDate; import java.time.Month; import java.time.ZoneId; /** * LocalDate Examples * @author somefuture * */ public class LocalDateExample { public static void main(String[] args) { LocalDate today = LocalDate.now(); System.out.println("当前日期"+today); LocalDate firstDay_2014 = LocalDate.of(2014, Month.JANUARY, 1); System.out.println("特定日期"+firstDay_2014); //输入不合法参数会构造失败!这个有点意思 //LocalDate feb29_2014 = LocalDate.of(2014, Month.FEBRUARY, 29); //Exception in thread "main" java.time.DateTimeException: //Invalid date 'February 29' as '2014' is not a leap year因为2014年不是闰年 //时区时间,可以用Asia/Shanghai或UTC+8 LocalDate todayShanghai = LocalDate.now(ZoneId.of("Asia/Shanghai")); System.out.println("上海日期"+todayShanghai); //时区错误会报错 //LocalDate todayIST = LocalDate.now(ZoneId.of("IST")); //从1970年创建时间 LocalDate dateFromBase = LocalDate.ofEpochDay(365); System.out.println("1970年的365天后是"+dateFromBase); LocalDate hundredDay2014 = LocalDate.ofYearDay(2014, 100); System.out.println("2014年第100天是"+hundredDay2014); //2014年第100天是2014-04-10 } }