開心一笑
【顏宇揚考了最后一名,在家長會后碱蒙,寫了期末總結(jié):1)有本事沖我來挪凑,別在家長會上嚇唬我爸孕索!2)期末考試成績出來了,我覺得我媽生二臺是非常明智的選擇躏碳。3)這場考試對于我的意義就是知道了班級到底有多少人搞旭。4)期末考試不給老師們露一手,他們還真以為自己教的好。我想說:孩子沒事选脊,這么可愛杭抠,哥教你......】
提出問題
Joda Time日期時間工具包比較好用的類有哪些???
解決問題
1.Joda簡單介紹
Joda-Time,一個面向Java平臺的易于使用的開源時間/日期庫恳啥。處理時間的工具包有很多偏灿,JDK的Calendar和Apache-Commons-Lang的DateUtils都有提供相關(guān)好用的API,但是對比下Joda-Time钝的,最好我還是選擇它翁垂。因為它提供更優(yōu)雅的編程,更簡潔的代碼硝桩,和更強大的時間處理沿猜。總而言之碗脊,它是非常好用的
2.Maven引入
Maven引入很簡單啼肩,就不說了
<!-- https://mvnrepository.com/artifact/joda-time/joda-time -->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.6</version>
</dependency>
3.關(guān)于日期處理的框架考慮
在一個公司的框架中,不一定說我們就得使用Joda Time來處理時間衙伶。我們還是得按照公司的規(guī)范來祈坠。我發(fā)現(xiàn)我們公司對于日期處理,有人使用JDK的Calendar矢劲,有人使用Commons-Lang的DateUtils赦拘,甚至還有人自己封裝日期處理工具類,自己造輪子芬沉,而我是漸漸使用Joda-Time躺同,被它迷人的身軀所吸引而一發(fā)不可收拾。在這里我想說的是:
在項目框架中丸逸,我們應(yīng)該統(tǒng)一使用一種日期處理工具蹋艺,而不要混著用。
4.Joda和JDK互操作性
Joda 的類能夠生成java.util.Date的實例(和 Calendar)椭员。這使我們能夠保留現(xiàn)有的依賴JDK的代碼车海,但是又能夠使用Joda處理復(fù)雜的日期/時間計算笛园。這一點在下面會有更多的
描述隘击。
5.創(chuàng)建Joda-Time對象
5.1最簡單的構(gòu)造DateTime形式:
DateTime dateTime = new DateTime();
5.2通過指定字段值構(gòu)建了一個 DateTime 對象
DateTime dateTime = new DateTime(
2000, //year
1, // month
1, // day
0, // hour (midnight is zero)
0, // minute
0, // second
0 // milliseconds
);
5.3將Date對象直接傳遞給構(gòu)造函數(shù)
Date jdkDate = new Date();
//轉(zhuǎn)化為Joda對象
DateTime dateTime = new DateTime(jdkDate);
//轉(zhuǎn)化為JDK對象
Date changeToJdkDate = dateTime.toDate();
5.4直接將不同對象傳遞給DateTime的構(gòu)造函數(shù)
// Use a Calendar
java.util.Calendar calendar = obtainCalendarSomehow();
dateTime = new DateTime(calendar);
// Use another Joda DateTime
DateTime anotherDateTime = obtainDateTimeSomehow();
dateTime = new DateTime(anotherDateTime);
// Use a String (must be formatted properly)
String timeString = "2006-01-26T13:30:00-06:00";
dateTime = new DateTime(timeString);
timeString = "2006-01-26";
dateTime = new DateTime(timeString);
6.一個簡單的例子
網(wǎng)上例子很多,我就不寫了研铆,我就簡單的引用網(wǎng)上的一個例子埋同,跟多內(nèi)容,可以自己去學(xué)習(xí)棵红。
例如:計算11月中第一個星期一之后的第一個星期二:
LocalDate now = SystemFactory.getClock().getLocalDate();
LocalDate electionDate = now.monthOfYear()
.setCopy(11) // November
.dayOfMonth() // Access Day Of Month Property
.withMinimumValue() // Get its minimum value
.plusDays(6) // Add 6 days
.dayOfWeek() // Access Day Of Week Property
.setCopy("Monday") // Set to Monday (it will round down)
.plusDays(1); // Gives us Tuesday
.setCopy("Monday") 是整個計算的關(guān)鍵凶赁。不管中間 LocalDate 值是多少,將其 dayOfWeek 屬性設(shè)置為 Monday 總是能夠四舍五入,這樣的話虱肄,在每月的開始再加上 6 天就能夠讓您得到第一個星期一致板。再加上一天就得到第一個星期二。Joda 使得執(zhí)行此類計算變得非常容易咏窿。
7.以Joda方式格式化時間
7.1 傳遞 SimpleDateFormat 字符串
DateTime dateTime = SystemFactory.getClock().getDateTime();
dateTime.toString("MM/dd/yyyy hh:mm:ss.SSSa");
dateTime.toString("dd-MM-yyyy HH:mm:ss");
dateTime.toString("EEEE dd MMMM, yyyy HH:mm:ssa");
dateTime.toString("MM/dd/yyyy HH:mm ZZZZ");
dateTime.toString("MM/dd/yyyy HH:mm Z");
09/06/2009 02:30:00.000PM
06-Sep-2009 14:30:00
Sunday 06 September, 2009 14:30:00PM
09/06/2009 14:30 America/Chicago
09/06/2009 14:30 -0500
讀書感悟
來自馬歇爾·盧森堡《非暴力溝通》
- 如果真的想過上悲慘生活斟或,就去與他人作比較。
- 非暴力溝通的四個要素:1集嵌、觀察萝挤;2、感受根欧;3怜珍、需要;4凤粗、請求酥泛。
- 在一個生氣的人面前,永遠(yuǎn)不要用“不過”“可是”“但是”之類的詞語嫌拣。
- 所有憤怒的核心是需求沒有被滿足揭璃。
- 批評往往暗含著期待。對他人的批評實際上間接表達(dá)了我們尚未滿足的需要亭罪。
- 讓夢想中的世界通過我們的轉(zhuǎn)變得以實現(xiàn)瘦馍,我相信,除非從我做起应役,我們的夢想就不可能實現(xiàn)情组,不幸的是,我們總是希望別人先開始改變箩祥。
經(jīng)典故事
【兩個人在森林里院崇,遇到了一只大老虎。A就趕緊從背后取下一雙更輕便的運動鞋換上袍祖。B急死了底瓣,罵道:“你干嘛呢,再換鞋也跑不過老虎敖堵捐凭!”
A說:“我只要跑得比你快就好了〉树蓿”】
大神文章
【1】Joda-Time 簡介
【2】http://mvnrepository.com/artifact/joda-time
【3】Joda-Time 簡介(引用) / 例子Example(自己)/ 官網(wǎng)例子
【4】日期工具類 - DateUtil.java
其他
如果有帶給你一絲絲小快樂茁肠,就讓快樂繼續(xù)傳遞下去,歡迎點贊缩举、頂垦梆、歡迎留下寶貴的意見匹颤、多謝支持!