TimeTools 時間工具類

使用了 Java8 的 LocalDateTime、LocalDate寺谤、LocalTime 之后仑鸥,我已經(jīng)不習(xí)慣用 Calendar、Date变屁、SimpleDateFormat 了眼俊。
相比之下,LocalDateTime粟关、LocalDate疮胖、LocalTime 用起來很方便,沒有 Calendar 的臃腫闷板,線程也是安全的澎灸。

后來我都相信,平時的知識整理影響著你工作的效率遮晚。

LocalDateTime

LocalDateTime.of(int year, Month month, int dayOfMonth, int hour, int minute);
LocalDateTime.of(int year, int month, int dayOfMonth, int hour, int minute);
LocalDateTime.of(LocalDate date, LocalTime time);

LocalDateTime 還有很多方法性昭,具體查看java源碼java8時間類LocalDateTime

LocalDate

LocalDate.now();//當(dāng)前日期
LocalDate.of(2018, 12, 25);//年月日
LocalDate.parse("2018-12-25");//yyyy-MM-dd

LocalTime

LocalTime.now();//當(dāng)前時間
LocalTime.of(4, 6, 0);//時分秒
LocalTime.parse("04:06:00");//HH:mm:ss

格式占位符

G 年代標(biāo)志符
y 年
M 月
d 日
h 時 在上午或下午 (1~12)
H 時 在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第幾天
F 一月中第幾個星期幾
w 一年中第幾個星期
W 一月中第幾個星期
a 上午 / 下午 標(biāo)記符
k 時 在一天中 (1~24)
K 時 在上午或下午 (0~11)
z 時區(qū)

常用的方法

1.獲取 date 是星期幾

/**
 * 獲取 date 是星期幾
 *
 * @param date
 * @return
 */
public static String localDate2Week(LocalDate date){
    String[] weeks = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"};
    return localDate2Week(date, weeks);
}

/**
 * 獲取 date 是星期幾
 *
 * @param date
 * @param weeks
 * @return
 */
public static String localDate2Week(LocalDate date, String[] weeks){
    return weeks[date.getDayOfWeek().getValue() - 1];
}

2.LocalDateTime 與 date轉(zhuǎn)換(如果舊的代碼改動太大的話,可以使用下面方法轉(zhuǎn)換)

/**
 * date 轉(zhuǎn)為 localDateTime
 *
 * @param date
 * @return
 */
public static LocalDateTime date2LocalDateTime(Date date) {
    return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
}

/**
 * localDateTime 轉(zhuǎn)為 date
 *
 * @param time
 * @return
 */
public static Date localDateTime2Date(LocalDateTime time) {
    return Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
}

3.LocalDateTime 與 時間戳轉(zhuǎn)換

/**
 * 時間戳 轉(zhuǎn) LocalDateTime
 *
 * @param timestamp
 * @return
 */
public static LocalDateTime timestamp2LocalDateTime(long timestamp){
    Instant instant = Instant.ofEpochMilli(timestamp);
    ZoneId zoneId = ZoneId.systemDefault();
    return LocalDateTime.ofInstant(instant, zoneId);
}

/**
 * LocalDateTime 轉(zhuǎn) 時間戳
 *
 * @param localDateTime
 * @return
 */
public static long localDateTime2Timestamp(LocalDateTime localDateTime){
    ZoneId zoneId = ZoneId.systemDefault();
    Instant instant = localDateTime.atZone(zoneId).toInstant();
    return instant.toEpochMilli();
}

4.時間與指定格式的字符串轉(zhuǎn)換

/**
 * 時間轉(zhuǎn)為指定格式的字符串
 *
 * @param time
 * @param pattern
 * @return
 */
public static String time2FormatString(LocalDateTime time, String pattern) {
    return time.format(DateTimeFormatter.ofPattern(pattern));
}

/**
 * 指定格式的字符串轉(zhuǎn)為時間
 *
 * @param formatString
 * @param pattern
 * @return
 */
public static LocalDateTime formatString2Time(String formatString, String pattern) {
    return LocalDateTime.parse(formatString, DateTimeFormatter.ofPattern(pattern));
}

5.日期是否是今天

/**
 * 日期是否是今天
 *
 * @param date
 * @return
 */
public static boolean isToday(LocalDate date) {
    return LocalDate.now().equals(date);
}

參考與感謝

java8時間類LocalDateTime
再見县遣!SimpleDateFormat

@廣州 2018/12/05 11:30
最近閑了下來糜颠,工作任務(wù)很少,忽然像迷了路一樣萧求,不知道往哪里前進括蝠。
上班也就是,改一下項目bug饭聚,瀏覽于各個網(wǎng)站,冒泡微信群搁拙。
在冒泡各個微信群時秒梳,大學(xué)同學(xué)談到了博客法绵。
是啊,好久沒認真更過博客了酪碘,也好久沒有整理過項目中用到的知識點朋譬。
好,那就開始了整理下知識點更新博客兴垦。
畢竟更新博客能幫到別人徙赢,也能提高自己,何樂而不為呢探越?
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末狡赐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子钦幔,更是在濱河造成了極大的恐慌枕屉,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲤氢,死亡現(xiàn)場離奇詭異搀擂,居然都是意外死亡,警方通過查閱死者的電腦和手機卷玉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門哨颂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人相种,你說我怎么就攤上這事威恼。” “怎么了蚂子?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵沃测,是天一觀的道長耍鬓。 經(jīng)常有香客問我矾柜,道長枢希,這世上最難降的妖魔是什么依啰? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任会放,我火速辦了婚禮们衙,結(jié)果婚禮上彭则,老公的妹妹穿的比我還像新娘棱烂。我一直安慰自己哎媚,他們只是感情好喇伯,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拨与,像睡著了一般稻据。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上买喧,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天捻悯,我揣著相機與錄音匆赃,去河邊找鬼。 笑死今缚,一個胖子當(dāng)著我的面吹牛算柳,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播姓言,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼瞬项,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了何荚?” 一聲冷哼從身側(cè)響起囱淋,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兽泣,沒想到半個月后绎橘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡唠倦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年称鳞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稠鼻。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡冈止,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出候齿,到底是詐尸還是另有隱情熙暴,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布慌盯,位于F島的核電站周霉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏亚皂。R本人自食惡果不足惜俱箱,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望灭必。 院中可真熱鬧狞谱,春花似錦、人聲如沸禁漓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽播歼。三九已至伶跷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背撩穿。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工磷支, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人食寡。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像廓潜,于是被迫代替她去往敵國和親抵皱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容