国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java時(shí)間類總結(jié)

coolpail / 2133人閱讀

摘要:獲取當(dāng)天是幾號(hào)獲取當(dāng)天是星期幾獲取本月的第一天取本月最后一天是不是很贊提供時(shí)分秒不提供年月日,也是線程安全并且不可變類。樣例獲取當(dāng)前的小時(shí)小時(shí)數(shù)加結(jié)果包含年月日時(shí)分秒,精確到納秒級(jí)別,同樣是線程安全并且不可變類。

java.util.Date

包含有年月日時(shí)分秒,精確到毫秒級(jí)別。
官方解釋:

</>復(fù)制代碼

  1. // The class Date represents a specific instant in time, with millisecond precision.

</>復(fù)制代碼

  1. // 語(yǔ)句
  2. Date date = new Date();
  3. System.out.println(date);
  4. //輸出結(jié)果
  5. Sat Feb 03 14:48:47 CST 2018
java.sql.Date

包含年月日,時(shí)分秒都被設(shè)置為0,之所以這樣設(shè)計(jì)是為了適應(yīng)SQL中的DATE類型。
官方解釋:

</>復(fù)制代碼

  1. // A thin wrapper around a millisecond value that allows JDBC to identify this as an SQL DATE value. A milliseconds value represents the number of milliseconds that have passed since January 1, 1970 00:00:00.000 GMT.
  2. // To conform with the definition of SQL DATE, the millisecond values wrapped by a java.sql.Date instance must be "normalized" by setting the hours, minutes, seconds, and milliseconds to zero in the particular time zone with which the instance is associated.

注意,雖然說(shuō)這個(gè)類是使用年月日的,但是初始化的時(shí)候,需要一個(gè)long類型的參數(shù),這個(gè)參數(shù)代表著January 1, 1970, 00:00:00 GMT到某個(gè)時(shí)間的毫秒數(shù)。如果是當(dāng)前時(shí)間的話,可以用System.currentTimeMillis()或者new Date().getTime()獲取。

</>復(fù)制代碼

  1. // 語(yǔ)句
  2. java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
  3. System.out.println(sqlDate);
  4. // 輸出結(jié)果
  5. 2018-02-03
java.sql.Time

包含時(shí)分秒,這個(gè)也是為了SQL中的TIME類型而出現(xiàn)的。

</>復(fù)制代碼

  1. // 語(yǔ)句
  2. Time time = new Time(System.currentTimeMillis());
  3. System.out.println(time);
  4. // 輸出結(jié)果
  5. 15:07:35
java.sql.Timestamp

時(shí)間戳,適配于SQL中的TIMESTAMP類型而出現(xiàn)的,精確到納秒級(jí)別。

格式化輸出:java.text.SimpleDateFormat

這個(gè)類提供時(shí)間的各種格式化輸出和將字符串轉(zhuǎn)換為時(shí)間類,簡(jiǎn)單來(lái)說(shuō),它擁有date → text 以及text → date的能力。
例如:將Date格式化輸出

</>復(fù)制代碼

  1. // 格式化輸出
  2. SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
  3. String dateStr = sdf.format(new Date());
  4. System.out.println(dateStr);
  5. // 結(jié)果
  6. 2018年02月03日 15:20:58

例如:將時(shí)間字符串轉(zhuǎn)化為Date

</>復(fù)制代碼

  1. SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
  2. Date date = sdf.parse("2018年02月03日 15:20:58");

注意,SimpleDateFormat.parse(String source)中的source格式一定得是SimpleDateFormat當(dāng)前使用的格式。如這個(gè)例子中使用了yyyy年MM月dd日 HH:mm:ss,所以傳入了2018年02月03日 15:20:58時(shí)間字符串。
PS:有些同學(xué)對(duì)yyyy或者MM這些字母代表的含義不懂的話,建議使用這個(gè)類的時(shí)候,看一下源碼,源碼類上都有對(duì)這些字母的解釋。

java.util.Calendar

日歷類,這個(gè)類大多被用于獲取時(shí)間的特殊屬性,比如說(shuō)獲取某個(gè)時(shí)間對(duì)象的年份、月份、星期等

</>復(fù)制代碼

  1. Calendar calendar = Calendar.getInstance();
  2. // 設(shè)置時(shí)間,不設(shè)置的話,默認(rèn)是當(dāng)前時(shí)間
  3. calendar.setTime(new Date());
  4. // 獲取時(shí)間中的年份
  5. int year = calendar.get(Calendar.YEAR);

從JDK1.8開始,Calendar增加新的構(gòu)造方式

</>復(fù)制代碼

  1. // since jdk 1.8
  2. Calendar calendar = new Calendar.Builder().setDate(2018, 3, 25).build();
  3. int year = calendar.get(Calendar.YEAR);
  4. System.out.println(year);
階段小結(jié)

以上大概就是jdk1.8之前的操作時(shí)間方式了。然后,從jdk1.8開始,有了新的操作時(shí)間的類。

java.time.LocalDate

LocalDate提供年月日而不提供時(shí)分秒信息,它是不可變類且線程安全的。它經(jīng)常被用于展示year-month-day,day-of-year,day-of-week,week-of-year等格式的信息。

</>復(fù)制代碼

  1. LocalDate localDate = LocalDate.now();
  2. // 獲取當(dāng)天是幾號(hào)
  3. int dayOfMonth = localDate.getDayOfMonth();
  4. // 獲取當(dāng)天是星期幾
  5. DayOfWeek dayOfWeek = localDate.getDayOfWeek();
  6. // 獲取本月的第一天
  7. LocalDate firstDayOfMonth = localDate.with(TemporalAdjusters.firstDayOfMonth());
  8. // 取本月最后一天
  9. LocalDate lastDayOfThisMonth = localDate.with(TemporalAdjusters.lastDayOfMonth());

是不是很贊~

java.time.Time

提供時(shí)分秒不提供年月日,也是線程安全并且不可變類。它經(jīng)常被用于展示hour-minute-second格式的信息。可以對(duì)時(shí)間進(jìn)行加減等操作。

</>復(fù)制代碼

  1. // 樣例
  2. LocalTime localTime = LocalTime.now();
  3. // 獲取當(dāng)前的小時(shí)
  4. int hour = localTime.getHour();
  5. System.out.println(hour);
  6. // 小時(shí)數(shù)加1
  7. LocalTime addTwoHours = localTime.plusHours(2L);
  8. System.out.println(addTwoHours.getHour());
  9. // 結(jié)果
  10. 16
  11. 18
java.time.LocalDateTime

包含年月日時(shí)分秒,精確到納秒級(jí)別,同樣是線程安全并且不可變類。它可以操作時(shí)間中的年月日時(shí)分秒并且可以獲取其中的屬性。

</>復(fù)制代碼

  1. LocalDateTime localDateTime = LocalDateTime.now();
  2. // 獲取年
  3. int year = localDateTime.getYear();
  4. // 獲取小時(shí)
  5. int hour = localDateTime.getHour();
  6. // 增加一年
  7. LocalDateTime addOneYear = localDateTime.plusYears(1);
結(jié)語(yǔ)

今天就先這樣啦,希望看到這篇博文的人能有所收獲,同樣,錯(cuò)誤之處還請(qǐng)幫忙指正。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/70930.html

相關(guān)文章

  • Java 總結(jié)

    摘要:中的詳解必修個(gè)多線程問(wèn)題總結(jié)個(gè)多線程問(wèn)題總結(jié)有哪些源代碼看了后讓你收獲很多,代碼思維和能力有較大的提升有哪些源代碼看了后讓你收獲很多,代碼思維和能力有較大的提升開源的運(yùn)行原理從虛擬機(jī)工作流程看運(yùn)行原理。 自己實(shí)現(xiàn)集合框架 (三): 單鏈表的實(shí)現(xiàn) 自己實(shí)現(xiàn)集合框架 (三): 單鏈表的實(shí)現(xiàn) 基于 POI 封裝 ExcelUtil 精簡(jiǎn)的 Excel 導(dǎo)入導(dǎo)出 由于 poi 本身只是針對(duì)于 ...

    caspar 評(píng)論0 收藏0
  • Java線程池簡(jiǎn)單總結(jié)

    摘要:本文主要內(nèi)容為簡(jiǎn)單總結(jié)中線程池的相關(guān)信息。方法簇方法簇用于創(chuàng)建固定線程數(shù)的線程池。三種常見線程池的對(duì)比上文總結(jié)了工具類創(chuàng)建常見線程池的方法,現(xiàn)對(duì)三種線程池區(qū)別進(jìn)行比較。 概述 線程可認(rèn)為是操作系統(tǒng)可調(diào)度的最小的程序執(zhí)行序列,一般作為進(jìn)程的組成部分,同一進(jìn)程中多個(gè)線程可共享該進(jìn)程的資源(如內(nèi)存等)。在單核處理器架構(gòu)下,操作系統(tǒng)一般使用分時(shí)的方式實(shí)現(xiàn)多線程;在多核處理器架構(gòu)下,多個(gè)線程能夠...

    CoorChice 評(píng)論0 收藏0
  • 后臺(tái)開發(fā)常問(wèn)面試題集錦(問(wèn)題搬運(yùn)工,附鏈接)

    摘要:基礎(chǔ)問(wèn)題的的性能及原理之區(qū)別詳解備忘筆記深入理解流水線抽象關(guān)鍵字修飾符知識(shí)點(diǎn)總結(jié)必看篇中的關(guān)鍵字解析回調(diào)機(jī)制解讀抽象類與三大特征時(shí)間和時(shí)間戳的相互轉(zhuǎn)換為什么要使用內(nèi)部類對(duì)象鎖和類鎖的區(qū)別,,優(yōu)缺點(diǎn)及比較提高篇八詳解內(nèi)部類單例模式和 Java基礎(chǔ)問(wèn)題 String的+的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解-備忘筆記 深入理解Java Stream流水...

    spacewander 評(píng)論0 收藏0
  • 后臺(tái)開發(fā)常問(wèn)面試題集錦(問(wèn)題搬運(yùn)工,附鏈接)

    摘要:基礎(chǔ)問(wèn)題的的性能及原理之區(qū)別詳解備忘筆記深入理解流水線抽象關(guān)鍵字修飾符知識(shí)點(diǎn)總結(jié)必看篇中的關(guān)鍵字解析回調(diào)機(jī)制解讀抽象類與三大特征時(shí)間和時(shí)間戳的相互轉(zhuǎn)換為什么要使用內(nèi)部類對(duì)象鎖和類鎖的區(qū)別,,優(yōu)缺點(diǎn)及比較提高篇八詳解內(nèi)部類單例模式和 Java基礎(chǔ)問(wèn)題 String的+的性能及原理 java之yield(),sleep(),wait()區(qū)別詳解-備忘筆記 深入理解Java Stream流水...

    xfee 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

coolpail

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<