Java8的新特性之 日期时间 API

Java 8通过发布新的Date-Time API来进一步对日期和时间进行管理。

先说说java.util.Date类。

  • 首先这个类是非线程安全的,它所创建的时间都是可变的,在多线程情况下可能会出现很大的问题。

  • 包冲突。大家都知道还有一个Date类是java.sql.Date的。如果一部小心改错,那也会出现新的问题。

  • 这个类不提供国际化,没有区时,本地的。虽然之后Java引入了Calendar和TimeZone,但是处理起来又是一大堆代码,很烦。

 所以在java8中出现了java.time这个包。这个包中有很多API,它们是线程安全的,也提供了区时和本地的方法。日期转换也有专门的parse()方法,不用在使用SimpleDateFormat和DateFormat这2个非线程安全的类。会有很大的问题。

sql对应java8的类型。
 

sql ------ java

data-------LocaDate

time------LocalTime

timestamp--------LocalDateTime

下面将常用的API列出

              // 获取当前的日期时间
	      LocalDateTime currentTime = LocalDateTime.now();
	      System.out.println("当前时间: " + currentTime);
	        
	      LocalDate date1 = currentTime.toLocalDate();
	      System.out.println("date1: " + date1);
	        
	      int year = currentTime.getYear();
	      int month = currentTime.getMonthValue();
	      int day = currentTime.getDayOfMonth();
	        
	      System.out.println("年: " + year +", 月: " + month +", 日: " + day);
	        
	      LocalDateTime date2 = currentTime.withDayOfMonth(10).withYear(2012);
	      System.out.println("date2: " + date2);
	        
	      // 12 december 2014
	      LocalDate date3 = LocalDate.of(2014, Month.DECEMBER, 12);
	      System.out.println("date3: " + date3);
	        
	      // 22 小时 15 分钟
	      LocalTime date4 = LocalTime.of(18, 00);
	      System.out.println("date4: " + date4);
	        
	      // 解析字符串
	      LocalTime date5 = LocalTime.parse("20:15:30");
	      System.out.println("date5: " + date5);
	      
	      //字符串转日期
	      LocalDate date6 = LocalDate.parse("2015-01-23");
	      System.out.println("date6: " + date6);
	      
	      //自定义格式化器
	      DateTimeFormatter dtf= DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
	      System.out.println("自定义格式化器:date6: " + dtf.format(currentTime));

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值