Java 中DateUtils日期工具類的實(shí)例詳解
Java 中DateUtils日期工具類的實(shí)例詳解
介紹
在java中隊(duì)日期類型的處理并不方便,通常都需要借助java.text.SimpleDateFormat類來(lái)實(shí)現(xiàn)日期類型 和字符串類型之間的轉(zhuǎn)換,但是在jdk1.8之后有所改善,jdk1.7以及之前的版本處理日期類型并不方便, 可以借助Joda Time組件來(lái)處理,尤其是日期類型的一些數(shù)學(xué)操作就更是不方便。
java代碼
/**
*
* 日期工具類 java對(duì)日期的操作一直都很不理想,直到j(luò)dk1.8之后才有了本質(zhì)的改變。
* 如果使用的是jdk1.8之前版本開(kāi)發(fā)的話,推薦使用Joda Time組件。
*
* 特別備注:unix的時(shí)間戳單位是秒
*
* @author xuyi3
* @2016年7月13日 @下午2:01:00
* @DateUtils
* @功能說(shuō)明:
* @春風(fēng)十里不如你
* @備注
*/
public class DateUtils {
/** 日志對(duì)象 */
private static final Logger logger = LoggerFactory.getLogger(DateUtils.class);
/** 年-月-日 時(shí):分:秒 顯示格式 */
// 備注:如果使用大寫HH標(biāo)識(shí)使用24小時(shí)顯示格式,如果使用小寫hh就表示使用12小時(shí)制格式。
public static String DATE_TO_STRING_DETAIAL_PATTERN = "yyyy-MM-dd HH:mm:ss";
/** 年-月-日 顯示格式 */
public static String DATE_TO_STRING_SHORT_PATTERN = "yyyy-MM-dd";
private static SimpleDateFormat simpleDateFormat;
/**
* Date類型轉(zhuǎn)為指定格式的String類型
*
* @param source
* @param pattern
* @return
*/
public static String DateToString(Date source, String pattern) {
simpleDateFormat = new SimpleDateFormat(pattern);
return simpleDateFormat.format(source);
}
/**
*
* unix時(shí)間戳轉(zhuǎn)為指定格式的String類型
*
*
* System.currentTimeMillis()獲得的是是從1970年1月1日開(kāi)始所經(jīng)過(guò)的毫秒數(shù)
* unix時(shí)間戳:是從1970年1月1日(UTC/GMT的午夜)開(kāi)始所經(jīng)過(guò)的秒數(shù),不考慮閏秒
*
* @param source
* @param pattern
* @return
*/
public static String timeStampToString(long source, String pattern) {
simpleDateFormat = new SimpleDateFormat(pattern);
Date date = new Date(source * 1000);
return simpleDateFormat.format(date);
}
/**
* 將日期轉(zhuǎn)換為時(shí)間戳(unix時(shí)間戳,單位秒)
*
* @param date
* @return
*/
public static long dateToTimeStamp(Date date) {
Timestamp timestamp = new Timestamp(date.getTime());
return timestamp.getTime() / 1000;
}
/**
*
* 字符串轉(zhuǎn)換為對(duì)應(yīng)日期(可能會(huì)報(bào)錯(cuò)異常)
*
* @param source
* @param pattern
* @return
*/
public static Date stringToDate(String source, String pattern) {
simpleDateFormat = new SimpleDateFormat(pattern);
Date date = null;
try {
date = simpleDateFormat.parse(source);
} catch (ParseException e) {
logger.error("字符串轉(zhuǎn)換日期異常", e);
}
return date;
}
/**
* 獲得當(dāng)前時(shí)間對(duì)應(yīng)的指定格式
*
* @param pattern
* @return
*/
public static String currentFormatDate(String pattern) {
simpleDateFormat = new SimpleDateFormat(pattern);
return simpleDateFormat.format(new Date());
}
/**
* 獲得當(dāng)前unix時(shí)間戳(單位秒)
*
* @return 當(dāng)前unix時(shí)間戳
*/
public static long currentTimeStamp() {
return System.currentTimeMillis() / 1000;
}
//待補(bǔ)充
}
總結(jié)
掌握了解jdk1.8的新特性和學(xué)會(huì)使用優(yōu)秀的開(kāi)源組件來(lái)達(dá)到自己快速高效開(kāi)發(fā)的目的。
以上就是java 工具類的詳解,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,本站關(guān)于java的開(kāi)發(fā)文章還有很多,請(qǐng)大家多多搜索查閱,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
SpringBoot后端接收參數(shù)優(yōu)化代碼示例(統(tǒng)一處理前端參數(shù))
使用Spring Boot開(kāi)發(fā)API的時(shí)候,讀取請(qǐng)求參數(shù)是服務(wù)端編碼中最基本的一項(xiàng)操作,下面這篇文章主要給大家介紹了關(guān)于SpringBoot后端接收參數(shù)優(yōu)化(統(tǒng)一處理前端參數(shù))的相關(guān)資料,需要的朋友可以參考下2024-07-07
一文掌握SpringSecurity?BCrypt密碼加密和解密
BCrypt就是一款加密工具,可以比較方便地實(shí)現(xiàn)數(shù)據(jù)的加密工作。也可以簡(jiǎn)單理解為它內(nèi)部自己實(shí)現(xiàn)了隨機(jī)加鹽處理,這篇文章主要介紹了SpringSecurity?BCrypt密碼加密和解密,一文學(xué)會(huì)使用BCryptPasswordEncoder的方法,需要的朋友可以參考下2023-04-04
JAVA PDF操作之實(shí)現(xiàn)截取N頁(yè)和多個(gè)PDF合并
這篇文章主要為大家詳細(xì)介紹了java關(guān)于PDF的一些操作,例如截取N頁(yè)并生成新文件,轉(zhuǎn)圖片以及多個(gè)PDF合并,文中的示例代碼講解詳細(xì),感興趣的可以了解下2025-01-01
為IntelliJ IDEA配置JVM參數(shù)的兩種方法
在使用IntelliJ IDEA進(jìn)行Java開(kāi)發(fā)時(shí),合理配置JVM參數(shù)對(duì)于優(yōu)化項(xiàng)目性能和資源管理至關(guān)重要,IntelliJ IDEA提供了兩種方便的方式來(lái)設(shè)置JVM參數(shù),本文將詳細(xì)介紹這兩種方法:通過(guò)工具欄編輯配置和通過(guò)服務(wù)編輯配置,需要的朋友可以參考下2024-12-12
SpringBoot下載Excel文件時(shí),報(bào)錯(cuò)文件損壞的解決方案
這篇文章主要介紹了SpringBoot下載Excel文件時(shí),報(bào)錯(cuò)文件損壞的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
java模擬實(shí)現(xiàn)斗地主發(fā)牌小程序
這篇文章主要為大家詳細(xì)介紹了java模擬實(shí)現(xiàn)斗地主發(fā)牌小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
Java中InputSteam怎么轉(zhuǎn)String
面了一位實(shí)習(xí)生,叫他給我說(shuō)一下怎么把InputStream轉(zhuǎn)換為String,這種常規(guī)的操作,他竟然都沒(méi)有用過(guò)我準(zhǔn)備結(jié)合工作經(jīng)驗(yàn),整理匯集出了InputStream 到String 轉(zhuǎn)換的十八般武藝,助大家闖蕩 Java 江湖一臂之力,需要的朋友可以參考下2021-06-06
Java設(shè)計(jì)模式之代理模式原理及實(shí)現(xiàn)代碼分享
這篇文章主要介紹了Java設(shè)計(jì)模式之代理模式原理及實(shí)現(xiàn)代碼分享,設(shè)計(jì)代理模式的定義,靜態(tài)代理,動(dòng)態(tài)代理,jdk動(dòng)態(tài)代理實(shí)現(xiàn)步驟,原理及源碼等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11

