使用Lambda表达式来实现Runnable接口的实例
public static void main(String[] args) { //1.使用匿名内部类 new Thread(new Runnable() { @Override public void run() { System.out.println("hello world"); } }).start(); //2.使用lambda new Thread(() -> System.out.println("Hello world")).start(); //3.使用匿名内部类 Runnable run = new Runnable() { @Override public void run() { System.out.println("hello world"); } }; //使用lambda Runnable run2 = () -> System.out.println("hello world"); //直接调用run方法(没开新线程) run.run(); run2.run(); }注意:Date类增加一个新的方法toInstant(),可以将Date转化成新实例,这样就可以做到将Date切换到新的API。
public static void main(String[] args) throws InterruptedException { //相当于System.currentTimeMillis() Clock clock = Clock.systemDefaultZone();//获取系统默认时区 System.out.println("系统时间日期"+clock.instant()); System.out.println("时间毫秒:"+clock.millis()); final Clock clock2 = Clock.systemUTC();//获取系统时钟,并将时间转换成使用UTC时区的日期和时间 System.out.println("系统时间日期"+clock2.instant()); System.out.println("时间毫秒:"+clock2.millis()); //ZoneId(时区) Set<String> set = ZoneId.getAvailableZoneIds();//获取可用区域标识集的集合 Iterator<String> iterator = set.iterator(); iterator.forEachRemaining(System.out::println); Clock clock3 = Clock.system(ZoneId.of("Europe/Paris")); System.out.println("系统时间日期"+clock3.instant()); System.out.println("时间毫秒:"+clock3.millis()); //now() 从系统时钟中获取当前时刻 Clock clock4 = Clock.fixed(Instant.now(), ZoneId.of("Asia/Shanghai")); System.out.println("时间毫秒:"+clock4.millis()); Thread.sleep(1000); System.out.println(clock4.millis());//不变 时钟在哪一个点不动 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = sdf.format(clock4.millis()); System.out.println(format); //Date类增加一个新的方法toInstant(),可以将Date转化成新实例,这样就可以做到将Date切换到新的API。 //Instant类也可以用来创建老的Date对象 Instant instant = clock4.instant(); Date from = Date.from(instant); System.out.println(from); Clock clock4 = Clock.systemDefaultZone(); LocalDate now = LocalDate.now(); LocalDate now2 = LocalDate.now(clock5); System.out.println(now); System.out.println(now2); //Duration类 获取时间差 LocalDateTime from = LocalDateTime.of(2014, Month.APRIL, 16, 0, 0,0); LocalDateTime to = LocalDateTime.of(2015, Month.APRIL, 16, 23, 59,59); Duration between = Duration.between(from, to); System.out.println(between.toDays()); System.out.println(between.toHours()); //这个例子用于计算2014年4月16好和2015年4月16日之间的天数和小时数 }