zoukankan      html  css  js  c++  java
  • Java8 本地DateTime API

    原文:http://www.yiibai.com/java8/java8_localdateapi.html

    使用Java8,新的日期时间API引入覆盖旧的日期时间API的以下缺点。

    • 非线程安全 - java.util.Date不是线程安全的,因此开发者必须在使用日期处理并发性问题。新的日期时间API是不可变的,并且没有setter方法。

    • 设计不佳 - 默认的开始日期从1900年,开始每月从1天从0开始,所以没有统一。不直接使用方法操作日期。新的API提供了这样操作实用方法。

    • 困难的时区处理 - 开发人员必须编写大量的代码来处理时区的问题。新的API设计开发保持特定领域设计。

    Java8Tester.java

    import java.time.LocalDate;
    import java.time.LocalTime;
    import java.time.LocalDateTime;
    import java.time.Month;
    
    public class Java8Tester {
       public static void main(String args[]){
          Java8Tester java8tester = new Java8Tester();
          java8tester.testLocalDateTime(); 
       }
    
       public void testLocalDateTime(){
          // Get the current date and time
          LocalDateTime currentTime = LocalDateTime.now();     
          System.out.println("Current DateTime: " + currentTime);
    
          LocalDate date1 = currentTime.toLocalDate();
          System.out.println("date1: " + date1);
          Month month = currentTime.getMonth();
          int day = currentTime.getDayOfMonth();
          int seconds = currentTime.getSecond();
          System.out.println("Month: " + month
             +"day: " + day
             +"seconds: " + seconds
          );
    
          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 hour 15 minutes
          LocalTime date4 = LocalTime.of(22, 15); 
          System.out.println("date4: " + date4);
    
          //parse a string
          LocalTime date5 = LocalTime.parse("20:15:30"); 
          System.out.println("date5: " + date5);
       }    
    }

    使用javac编译器编译如下类

    C:JAVA>javac Java8Tester.java
    

    现在运行Java8Tester看到的结果

    C:JAVA>java Java8Tester
    

    看到结果

    Current DateTime: 2014-12-09T11:00:45.457                                
    date1: 2014-12-09                                                        
    Month: DECEMBERday: 9seconds: 45                                         
    date2: 2012-12-10T11:00:45.457                                           
    date3: 2014-12-12                                                        
    date4: 22:15                                                             
    date5: 20:15:30 

  • 相关阅读:
    Jmeter中的几个重要测试指标释义
    Hibernate无主键配置文件编写
    Hibernate各种主键生成策略与配置详解
    安装禅道的基本步骤
    使用Jmeter进行http接口测试
    myeclipse如何修改Web项目名称
    oracle中根据时间获取最新的一条数据
    JQuery之滑动幻灯片插件Easy Slider初体验
    比较实用的JavaScript库
    UBUNTU下SUBLIME TEXT3的安装+破解+汉化+中文输入
  • 原文地址:https://www.cnblogs.com/shihaiming/p/6371196.html
Copyright © 2011-2022 走看看