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對象
*/
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緩存操作技巧匯總》
希望本文所述對大家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à)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
java實(shí)現(xiàn)日歷(某年的日歷,某月的日歷)用戶完全自定義
本篇文章介紹了,java實(shí)現(xiàn)日歷(某年的日歷,某月的日歷)用戶完全自定義。需要的朋友參考下2013-05-05
Java線程池隊(duì)列LinkedBlockingDeque
這篇文章主要為大家介紹了Java線程池隊(duì)列LinkedBlockingDeque示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱介紹
這篇文章主要介紹了Java DecimalFormat 保留小數(shù)位及四舍五入的陷阱,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Java讀取properties文件內(nèi)容的幾種方式詳解
這篇文章主要介紹了Java讀取properties文件內(nèi)容的幾種方式詳解,讀取properties配置文件在實(shí)際的開發(fā)中使用的很多,本文來介紹常用的幾種實(shí)現(xiàn)方式,需要的朋友可以參考下2023-11-11
Intellij 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

