Java常用的時間工具類實例
本文實例講述了Java常用的時間工具類。分享給大家供大家參考,具體如下:
package org.zhy.date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; /** * 時間類型工具類 * * @author zhengyi * */ public class DateUtils { // 時間格式定義 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 // 時間格式:年月日時分秒 public static final int YEAR = 1;// 年 public static final int MONTH = 2;// 月 public static final int DAY = 3; // 日 public static final int HOUROFDAY = 4;// 時 public static final int MINUTE = 5;// 分 public static final int SECOND = 6;// 秒 /** * 將時間轉(zhuǎn)換為字符串 * * @param date * :需要轉(zhuǎn)換的時間 * @param date_fomat * :時間格式 * @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ù)年月日時分秒生成Date并返回 * * @param year * :年 * @param month * :月 * @param dayOfMonth * :日 * @param hourOfDay * :時 * @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對象 */ 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)); } /** * 獲得日期中的年月日時分秒 * * @param date * :需要獲取的時間 * @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ù)計算的在線工具供大家使用:
在線日期/天數(shù)計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線萬年歷日歷:
http://tools.jb51.net/bianmin/wannianli
在線陰歷/陽歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix時間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《java日期與時間操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
SpringBoot如何使用@Cacheable進(jìn)行緩存與取值
這篇文章主要介紹了SpringBoot如何使用@Cacheable進(jìn)行緩存與取值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08java實現(xiàn)日歷(某年的日歷,某月的日歷)用戶完全自定義
本篇文章介紹了,java實現(xiàn)日歷(某年的日歷,某月的日歷)用戶完全自定義。需要的朋友參考下2013-05-05Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱介紹
這篇文章主要介紹了Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-10-10Java讀取properties文件內(nèi)容的幾種方式詳解
這篇文章主要介紹了Java讀取properties文件內(nèi)容的幾種方式詳解,讀取properties配置文件在實際的開發(fā)中使用的很多,本文來介紹常用的幾種實現(xiàn)方式,需要的朋友可以參考下2023-11-11Intellij IDEA 添加jar包的三種方式(小結(jié))
這篇文章主要介紹了Intellij IDEA 添加jar包的三種方式(小結(jié)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08微服務(wù)架構(gòu)設(shè)計RocketMQ進(jìn)階事務(wù)消息原理詳解
這篇文章主要介紹了為大家介紹了微服務(wù)架構(gòu)中RocketMQ進(jìn)階層面事務(wù)消息的原理詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10