最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java8中新的Date和Time詳解

 更新時(shí)間:2016年07月06日 16:18:22   投稿:lqh  
這篇文章主要是java8中新的Date和Time,探討新Date類和Time類背后的設(shè)計(jì)原則,有所需要的小伙伴希望能幫助到你

新Date類和Time類背后的設(shè)計(jì)原則:

不可變類

java8之前,Date類都是可變類。當(dāng)我們?cè)诙嗑€程環(huán)境下使用它,編程人員應(yīng)該確認(rèn)Date對(duì)象的線程安全。Java8的Date和Time API提供了線程安全的不可變類。編程人員不用考慮并發(fā)的問(wèn)題。

領(lǐng)域模型驅(qū)動(dòng)設(shè)計(jì)方法

新的日期和時(shí)間的類別遵循“域驅(qū)動(dòng)設(shè)計(jì)”。對(duì)于開(kāi)發(fā)者來(lái)說(shuō),理解方法和類的功能是很容易的。

接下來(lái)讓我們來(lái)看看新Date和Time API:

1.java.time.LocalDate:

LocalDate只提供日期不提供時(shí)間信息。它是不可變類且線程安全的。

package org.smarttechie;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
/**
* This class demonstrates JAVA 8 data and time API
* @author Siva Prasad Rao Janapati
* */
public class DateTimeDemonstration {
/**
* @param args
*/
public static void main(String[] args) {
  //Create date LocalDate localDate = LocalDate.now();
  System.out.println("The local date is :: " + localDate); 
  //Find the length of the month. That is, how many days are there for this month.
  System.out.println("The number of days available for this month:: " + localDate.lengthOfMonth()); 
  //Know the month name
  System.out.println("What is the month name? :: " + localDate.getMonth().name()); 
  //add 2 days to the today's date.
  System.out.println(localDate.plus(2, ChronoUnit.DAYS)); 
  //substract 2 days from today
  System.out.println(localDate.minus(2, ChronoUnit.DAYS)); 
  //Convert the string to date
  System.out.println(localDate.parse("2017-04-07"));
 }
}

2.java.time.LocalTime:

LocalTime只提供時(shí)間而不提供日期信息,它是不可變類且線程安全的。

package org.smarttechie;
import java.time.LocalTime;
import java.time.temporal.ChronoUnit;
/**
* This class demonstrates JAVA 8 data and time API
* @author Siva Prasad Rao Janapati
* */
public class DateTimeDemonstration {
/**
* @param args
*/
public static void main(String[] args) {
  //Get local time
  LocalTime localTime = LocalTime.now();
  System.out.println(localTime);
 //Get the hour of the day
 System.out.println("The hour of the day:: " + localTime.getHour());
 //add 2 hours to the time.
 System.out.println(localTime.plus(2, ChronoUnit.HOURS));
 //add 6 minutes to the time.
 System.out.println(localTime.plusMinutes(6));
 //substract 2 hours from current time
 System.out.println(localTime.minus(2, ChronoUnit.HOURS));
 }
}

3.java.time.LocalDateTime:

LocalDateTime提供時(shí)間和日期的信息,它是不可變類且線程安全的

package orr.smarttechie;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
/**
* This class demonstrates JAVA 8 data and time API
* @author Siva Prasad Rao Janapati
*
*/
public class DateTimeDemonstration {
/**
* @param args
*/
public static void main(String[] args) {
  //Get LocalDateTime object
  LocalDateTime localDateTime = LocalDateTime.now();
  System.out.println(localDateTime);
  //Find the length of month. That is, how many days are there for this month.
  System.out.println("The number of days available for this month:: " + localDateTime.getMonth().length(true));
  //Know the month name
  System.out.println("What is the month name? :: " + localDateTime.getMonth().name());
  //add 2 days to today's date.
  System.out.println(localDateTime.plus(2, ChronoUnit.DAYS));
  //substract 2 days from today
  System.out.println(localDateTime.minus(2, ChronoUnit.DAYS));
 }
}

4.java.time.Year:

 Year提供年的信息,它是不可變類且線程安全的。

package orr.smarttechie;
import java.time.Year;
import java.time.temporal.ChronoUnit;
/**
* This class demonstrates JAVA 8 data and time API
* @author Siva Prasad Rao Janapati
*
*/
public class DateTimeDemonstration {
/**
* @param args
*/
public static void main(String[] args) {
  //Get year
  Year year = Year.now();
  System.out.println("Year ::" + year);
  //know the year is leap year or not
  System.out.println("Is year[" +year+"] leap year?"+ year.isLeap());
 }
}

 5.java.time.Duration:

Duration是用來(lái)計(jì)算兩個(gè)給定的日期之間包含多少秒,多少毫秒,它是不可變類且線程安全的

6.java.time.Period:

Period是用來(lái)計(jì)算兩個(gè)給定的日期之間包含多少天,多少月或者多少年,它是不可變類且線程安全的

package orr.smarttechie;
import java.time.LocalDate;
import java.time.Period;
import java.time.temporal.ChronoUnit;
/**
* This class demonstrates JAVA 8 data and time API
* @author Siva Prasad Rao Janapati
*
*/
public class DateTimeDemonstration {
/**
* @param args
*/
public static void main(String[] args) {
  LocalDate localDate = LocalDate.now();
  Period period = Period.between(localDate, localDate.plus(2, ChronoUnit.DAYS));
  System.out.println(period.getDays());
 }
}

相關(guān)文章

  • Spring框架學(xué)習(xí)之Spring?@Autowired實(shí)現(xiàn)自動(dòng)裝配的代碼

    Spring框架學(xué)習(xí)之Spring?@Autowired實(shí)現(xiàn)自動(dòng)裝配的代碼

    自動(dòng)裝配就是說(shuō),你不用手動(dòng)實(shí)現(xiàn)bean之間的組合關(guān)系,只要使用了@Autowired注解,程序就會(huì)自動(dòng)的注入這個(gè)需要的bean,前提是你的Spring容器有這個(gè)bean,這篇文章主要介紹了Spring?@Autowired實(shí)現(xiàn)自動(dòng)裝配,需要的朋友可以參考下
    2021-12-12
  • Spring Boot Admin的使用詳解(Actuator監(jiān)控接口)

    Spring Boot Admin的使用詳解(Actuator監(jiān)控接口)

    這篇文章主要介紹了Spring Boot Admin的使用詳解(Actuator監(jiān)控接口),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Java this 關(guān)鍵字的使用方法詳解

    Java this 關(guān)鍵字的使用方法詳解

    這篇文章主要介紹了Java this 關(guān)鍵字的使用方法詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家徹底理解掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 學(xué)習(xí)Java的Date、Calendar日期操作

    學(xué)習(xí)Java的Date、Calendar日期操作

    Java開(kāi)發(fā)過(guò)程中避免不了日期相關(guān)操作,這篇文章總結(jié)了一些Date、Calendar的常用方法,需要的朋友可以參考下
    2015-07-07
  • idea下載svn的項(xiàng)目并且運(yùn)行操作

    idea下載svn的項(xiàng)目并且運(yùn)行操作

    這篇文章主要介紹了idea下載svn的項(xiàng)目并且運(yùn)行操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • springboot 獲取工具類bean過(guò)程詳解

    springboot 獲取工具類bean過(guò)程詳解

    這篇文章主要介紹了springboot 獲取工具類bean過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • idea install 時(shí)提示jdk的某個(gè)jar包的包不存在的問(wèn)題

    idea install 時(shí)提示jdk的某個(gè)jar包的包不存在的問(wèn)題

    這篇文章主要介紹了idea install 時(shí)提示jdk的某個(gè)jar包的包不存在的問(wèn)題,本文給大家分享解決方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • SpringSecurity自定義登錄界面

    SpringSecurity自定義登錄界面

    這篇文章主要為大家詳細(xì)介紹了SpringSecurity自定義登錄界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Java StringBuffer類與StringBuilder類用法實(shí)例小結(jié)

    Java StringBuffer類與StringBuilder類用法實(shí)例小結(jié)

    這篇文章主要介紹了Java StringBuffer類與StringBuilder類用法,結(jié)合實(shí)例形式總結(jié)分析了Java StringBuffer類與StringBuilder類的功能、原理及添加、刪除、替換、截取等操作實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-03-03
  • Java面試高頻問(wèn)題之RabbitMQ系列全面解析

    Java面試高頻問(wèn)題之RabbitMQ系列全面解析

    在介紹RabbitMQ之前實(shí)現(xiàn)要介紹一下MQ,MQ是什么?MQ全稱是Message Queue,可以理解為消息隊(duì)列的意思,簡(jiǎn)單來(lái)說(shuō)就是消息以管道的方式進(jìn)行傳遞。RabbitMQ是一個(gè)實(shí)現(xiàn)了AMQP(Advanced Message Queuing Protocol)高級(jí)消息隊(duì)列協(xié)議的消息隊(duì)列服務(wù),用Erlang語(yǔ)言的
    2021-11-11

最新評(píng)論

漳州市| 西乡县| 大厂| 宁晋县| 定兴县| 古蔺县| 崇义县| 丹凤县| 临夏县| 阿尔山市| 宝坻区| 左贡县| 六盘水市| 沈阳市| 贵德县| 呼伦贝尔市| 略阳县| 黎川县| 万宁市| 宜黄县| 五家渠市| 常山县| 牙克石市| 突泉县| 叙永县| 宜城市| 禄劝| 石台县| 榆树市| 苏尼特右旗| 隆化县| 阜康市| 辰溪县| 林周县| 墨江| 泗洪县| 枝江市| 新密市| 阳曲县| 申扎县| 吉林市|