Java常用的時(shí)間工具類實(shí)例
本文實(shí)例講述了Java常用的時(shí)間工具類。分享給大家供大家參考,具體如下:
package org.zhy.date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; /** * 時(shí)間類型工具類 * * @author zhengyi * */ public class DateUtils { // 時(shí)間格式定義 public static final String DATE_PATTERN_YYYY_MM_DD = "yyyy-MM-dd"; // 2011-10-09 public static final String yyyyMMddhhmmss = "yyyyMMddhhmmss";// 20111009100155 public static final String yyyy_MM_ddhhMMss = "yyyy-MM-dd hh:MM:ss";// 2011-10-09 // 10:01:55 // 時(shí)間格式:年月日時(shí)分秒 public static final int YEAR = 1;// 年 public static final int MONTH = 2;// 月 public static final int DAY = 3; // 日 public static final int HOUROFDAY = 4;// 時(shí) public static final int MINUTE = 5;// 分 public static final int SECOND = 6;// 秒 /** * 將時(shí)間轉(zhuǎn)換為字符串 * * @param date * :需要轉(zhuǎn)換的時(shí)間 * @param date_fomat * :時(shí)間格式 * @return String:轉(zhuǎn)換后的格式 */ public static String DateToString(java.util.Date date, String date_fomat) { DateFormat df = new SimpleDateFormat(date_fomat); return df.format(date); } /** * 根據(jù)年月日時(shí)分秒生成Date并返回 * * @param year * :年 * @param month * :月 * @param dayOfMonth * :日 * @param hourOfDay * :時(shí) * @param minute * :分 * @param second * :秒 * @return */ public static Date stringToDate(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second) { GregorianCalendar gc = new GregorianCalendar(year, month, dayOfMonth, hourOfDay, minute, second); Date dt = gc.getTime(); return dt; } /** * 根據(jù)年月日生成Date并返回 * * @param year * :年 * @param month * :月 * @param dayOfMonth * :日 * @return Date:返回的Date對(duì)象 */ public static Date stringToDate(int year, int month, int dayOfMonth) { GregorianCalendar gc = new GregorianCalendar(year, month, dayOfMonth); Date dt = gc.getTime(); return dt; } /** * 是否為閏年 * * @param date * @return */ public static boolean isLeapYear(Date date) { GregorianCalendar gc = gcToDate(date); return gc.isLeapYear(findYearByDate(date, YEAR)); } /** * 獲得日期中的年月日時(shí)分秒 * * @param date * :需要獲取的時(shí)間 * @param type * :獲取的類型,類內(nèi)常量 * @return */ public static int findYearByDate(Date date, int type) { Calendar cd = Calendar.getInstance(); cd.setTime(date); int number=0; switch (type) { case YEAR : number= cd.get(Calendar.YEAR); break; case MONTH : number= cd.get(Calendar.MONTH); break; case DAY : number= cd.get(Calendar.DAY_OF_MONTH); break; case HOUROFDAY : number= cd.get(Calendar.HOUR_OF_DAY); break; case MINUTE : number= cd.get(Calendar.MINUTE); break; case SECOND : number= cd.get(Calendar.SECOND); break; default : number= 0; } return number; } /** * 私有函數(shù),將Date類型轉(zhuǎn)換為GregorianCalendar類型以便類內(nèi)使用 * * @param date * @return */ private static GregorianCalendar gcToDate(Date date) { GregorianCalendar gc = new GregorianCalendar(); gc.setTime(date); return gc; } }
PS:這里再為大家推薦幾款關(guān)于日期與天數(shù)計(jì)算的在線工具供大家使用:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線萬年歷日歷:
http://tools.jb51.net/bianmin/wannianli
在線陰歷/陽歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《java日期與時(shí)間操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
- java中如何獲取時(shí)間戳的方法實(shí)例
- Java計(jì)算程序代碼執(zhí)行時(shí)間的方法小結(jié)
- java基于正則表達(dá)式實(shí)現(xiàn)時(shí)間日期的常用判斷操作實(shí)例
- Java編程實(shí)現(xiàn)時(shí)間和時(shí)間戳相互轉(zhuǎn)換實(shí)例
- Java獲得當(dāng)前時(shí)間前指定幾個(gè)小時(shí)具體時(shí)間的方法示例
- java如何利用FastJSON、Gson、Jackson三種Json格式工具自定義時(shí)間序列化
- Java日期時(shí)間格式化操作DateUtils 的整理
- java時(shí)間日期使用與查詢代碼詳解
相關(guān)文章
SpringBoot如何使用@Cacheable進(jìn)行緩存與取值
這篇文章主要介紹了SpringBoot如何使用@Cacheable進(jìn)行緩存與取值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08java實(shí)現(xiàn)日歷(某年的日歷,某月的日歷)用戶完全自定義
本篇文章介紹了,java實(shí)現(xiàn)日歷(某年的日歷,某月的日歷)用戶完全自定義。需要的朋友參考下2013-05-05Java線程池隊(duì)列LinkedBlockingDeque
這篇文章主要為大家介紹了Java線程池隊(duì)列LinkedBlockingDeque示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱介紹
這篇文章主要介紹了Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10Java讀取properties文件內(nèi)容的幾種方式詳解
這篇文章主要介紹了Java讀取properties文件內(nèi)容的幾種方式詳解,讀取properties配置文件在實(shí)際的開發(fā)中使用的很多,本文來介紹常用的幾種實(shí)現(xiàn)方式,需要的朋友可以參考下2023-11-11Intellij IDEA 添加jar包的三種方式(小結(jié))
這篇文章主要介紹了Intellij IDEA 添加jar包的三種方式(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08微服務(wù)架構(gòu)設(shè)計(jì)RocketMQ進(jìn)階事務(wù)消息原理詳解
這篇文章主要介紹了為大家介紹了微服務(wù)架構(gòu)中RocketMQ進(jìn)階層面事務(wù)消息的原理詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10