Java 8: LocalDate、LocalTime 、LocalDateTime 處理日期時間

JDK8中,新增了三個類,用以處理時間。

LocalDate專門處理日期,LocalTime專門處理時間,LocalDateTime包含了日期和時間,而且對于很多復雜的問題,都提供了現成的方法,比如:獲取2017年12月的第一個周一等。

package test;import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.temporal.TemporalAdjusters;
import java.util.Calendar;/*** Created by lightClouds917* Date 2017/11/6* Description:Java8中處理時間和日期的類*SQL  -> Java--------------------------date -> LocalDatetime -> LocalTimetimestamp -> LocalDateTime*/
public class DateTest2 {public static void main(String[] args){test1();test2();Calendar calendar = Calendar.getInstance();System.out.println(calendar.getTime());}/*** 處理日期 LocalDate*/public static void test1(){//獲取當前日期   2017-11-06LocalDate today = LocalDate.now();System.out.println(today);//構造日期   2017-10-08LocalDate today2 = LocalDate.of(2017,10,8);System.out.println(today2);//構造日期   2017-02-22    字符串嚴格按照yyyy-MM-ddLocalDate today3 = LocalDate.parse("2017-02-22");System.out.println(today3);//本月第一天  2017-11-01LocalDate firstDayOfMonth = today.with(TemporalAdjusters.firstDayOfMonth());System.out.println(firstDayOfMonth);//本月第二天  2017-11-02   第n天LocalDate secondDayOfMonth = today.withDayOfMonth(2);System.out.println(secondDayOfMonth);//本月最后一天 2017-02-28  方便解決任何年份的二月份多少天LocalDate lastDayOfMonth = today3.with(TemporalAdjusters.lastDayOfMonth());System.out.println(lastDayOfMonth);//獲取2017年12月的第一個周一   2017-12-04LocalDate firstDayOf201712 = LocalDate.parse("2017-12-01").with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY));System.out.println(firstDayOf201712);}/*** 處理時間  LocalTime*/public static void test2(){//獲取當前時間  含有毫秒值  17:18:41.571LocalTime now = LocalTime.now();System.out.println(now);//獲取當前時間   去掉毫秒值   17:45:41LocalTime now1 = LocalTime.now().withNano(0);System.out.println(now1);//00:46:46.651  提供了把時分秒都設為0的方法LocalTime now2 = LocalTime.now().withHour(0);System.out.println(now2);//構造時間  00:20:55LocalTime time1 = LocalTime.of(0,20,55);System.out.println(time1);//構造時間  05:43:22LocalTime time2 = LocalTime.parse("05:43:22");System.out.println(time2);//標準時間 2017-11-06T17:53:15.930LocalDateTime lt = LocalDateTime.now();System.out.println(lt);}
}

及:

public class TimeTest {@Testpublic void testTime() {LocalDateTime time = LocalDateTime.now();System.out.println(time.toString()); //字符串表示System.out.println(time.toLocalTime()); //獲取時間(LocalTime)System.out.println(time.toLocalDate()); //獲取日期(LocalDate)System.out.println(time.getDayOfMonth()); //獲取當前時間月份的第幾天System.out.println(time.getDayOfWeek());  //獲取當前周的第幾天System.out.println(time.getDayOfYear());  //獲取當前時間在該年屬于第幾天System.out.println(time.getHour());System.out.println(time.getMinute());System.out.println(time.getMonthValue());System.out.println(time.getMonth());System.out.println("-----------------------------------");//格式化輸出DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYY/MM/dd HH:mm:ss");System.out.println(time.format(formatter));//構造時間LocalDateTime startTime = LocalDateTime.of(2018, 1, 1, 20, 31, 20);LocalDateTime endTime = LocalDateTime.of(2018, 1, 3, 20, 31, 20);//比較時間System.out.println(time.isAfter(startTime));System.out.println(time.isBefore(endTime));//時間運算,相加相減System.out.println(time.plusYears(2)); //加2年System.out.println(time.plusDays(2)); //加兩天System.out.println(time.minusYears(2)); //減兩年System.out.println(time.minusDays(2)); //減兩天//獲取毫秒數(使用Instant)System.out.println(time.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());//獲取秒數(使用Instant)System.out.println(time.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond());}}

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447541.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447541.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447541.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

超負荷寫代碼 = 慢性自殺

本文是html5tricks原創翻譯,轉載請看清文末的轉載要求,謝謝合作! 也許你會認為我是個故弄玄虛的標題黨,不過我需要澄清一下。首先,這是真的,超負荷寫代碼的確意味著慢性自殺。然后問題就來了,“…

Dubbo + RestEasy 實現文件上傳與下載

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 DubboRestEasy實現文件上傳與下載 DubboRestEasy實現文件上傳與下載 Maven依賴 注解 代碼實現 1、 上傳 2、 下載 3、 上傳、下載請求參…

程序員必須知道的10大基礎實用算法及其講解

算法一:快速排序算法 快速排序是由東尼霍爾所發展的一種排序算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要Ο(n2)次比較,但這種狀況并不常見。事實上,快速排序通常明顯比其他Ο(n log n) 算法更快&a…

《 雙城記 》:無數的平民擁有的只是和她同樣的眼睛 ...

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 PS:此書我沒有買,是在喜瑪拉雅上聽完的,主播:高樂高 。 1、卡頓: 一個才華斐…

Git遠程操作詳解

摘要:Git是目前最流行的版本管理系統,學會Git幾乎成了開發者的必備技能。本文詳細介紹5個Git命令,它們的概念和用法,理解了這些內容,你就會完全掌握Git遠程操作。 【編者按】Git是一個分布式版本控制/軟件…

《千只鶴》:面對愛,我們永遠還行走在成長的路上 ...

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 PS:之前我一直以為書名是 千紙鶴,直到真正拿到書才注意到,原來書名是《千只鶴》... 包括 2 部分&am…

程序員自我提高的幾點建議 很實誠

一、背景 中國程序員的成長是與其學習環境相關,據統計,現時做計算機軟件開發的人員65%是大專及本科學歷,15%是來自于其他的培訓機構。可見一個開發人員大致的學習經歷和初步經驗來自于大學。 而在印度,韓國,以及歐美一…

《 廊橋遺夢 》:用我的整個余生和全部的心來愛你 ...

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 PS:此書也是在喜瑪拉雅上聽完的,完全免費,主播的聲音我很喜歡 ... 1. 弗朗西斯卡 一個妻子、母親&a…

如何系統性地保障軟件性能

摘要:軟件性能貫穿整個軟件開發過程,從需求到設計,到開發,到測試,最后到發布反饋,其作為軟件用戶的第一體驗顯得尤為重要。如何系統性地保障軟件性能呢?文中以QQ為例,分別闡述了在各…

深入理解 AMQP 協議

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 PS:更多詳情見 AMQP主頁 :http://www.amqp.org/ 。 一、AMQP 是什么 AMQP(Advanced Message Queuing…

廣州市科目三電子路考--大觀路通過經驗

視頻:大觀路 : http://v.pps.tv/play_3EO9GY.html 大家好,我是2014年5月8日考科目三的,本人是90分通過考試,在掉頭的時候死火被扣10分,下面我會說明為什么會被扣10分的。 大觀路段考試,總體來…

SpringBoot:Actuator 監控管理工程各項信息

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 在微服務體系中,有很多工程相互作用,如果其中某一個Down 了,可能就不是那么容易快速定位 bug 所屬了…

2013科目三道路駕駛技能通用評判標準

一般規定:道路駕駛技能考試滿分為100分,成績達到90分的為合格。 道路駕駛技能通用評判 不合格情形:考試時出現下列情形之一的,評判為不合格: a)不按規定使用安全帶或者戴安全頭盔的; b)遮擋、關閉車內音視頻…

如果編程語言是超級英雄……

摘要:此前我們曾假設過如果編程語言是女人,如果編程語言是把刀,現在我們將編程語言設想成電影中的超級英雄會是怎樣一番情景呢? 說到編程語言,當然是蘿卜白菜,各有所愛。假如要你在鐘愛的語言之前加個超級…

Springboot:監控與管理 Actuator

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 前言: Actuator是一個暴露自身信息的模塊,主要實現對應用系統的監控與管理。主要有三大功能: …

視頻編解碼,bbv 緩沖區的上溢和下溢

使用硬件相似的數據處理.一般都是數據進來,處理后立即發出去的形式.所以一般有一個數據進,一個數據出,2個接口. 硬件處理基本都要求實時.數據進來,處理之后馬上發處理,這個時間要求非常短,一般要求控制在好多毫秒以內,才能達到實時的要求.一般硬件每秒鐘能夠處理的數據大小,在…

《Spring Cloud 與 Docker 微服務架構實戰》筆記

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 PS:springcloud系列文章見:springcloud 系列,一看就會 。 在此,只是記錄細碎知識點。 1…

視頻測試序列下載:YUV文件

1、http://www.tkn.tu-berlin.de/research/vid/(此網站已經移走,正在尋找。) CIF: Akiyo、Bridge (far) 、Bridge (close) 、Bus 、Container 、Coastguard 、Flower 、Football 、Foreman 、Hall 、Highway 、Mobile & Cale…

MyBatis : Example 條件查詢 in 用法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 只是記錄下。 Example example new Example(UserxxxLog.class);Criteria createCriteria example.createCriteria();List<String&…

跨平臺2D/3D游戲開發框架libGDX發布1.2.0更新

摘要&#xff1a;基于OpenGL (ES)的跨平臺2D/3D游戲開發框架libGDX不僅開源免費&#xff0c;而且具有極為強大的兼容性和高效性&#xff0c;近日&#xff0c;libGDX發布全新1.2.0版本&#xff0c;除修復Bug之外&#xff0c;還新增了OpenGL性能分析、gdx-ai等一系列功能擴展和方…