時間通用方法

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;import org.apache.commons.lang3.time.DateFormatUtils;/**
* 日期工具類, 繼承org.apache.commons.lang.time.DateUtils類
*/
public class DateUtils extends org.apache.commons.lang3.time.DateUtils {private static String[] parsePatterns = {"yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM","yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM","yyyyMMddHHmmss", "yyyyMMdd"};private static SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");private static SimpleDateFormat fmt_yyyyMMddHHmm = new SimpleDateFormat("yyyy-MM-dd HH:mm");/*** 得到當前日期字符串 格式(yyyy-MM-dd)*/public static String getDate() {return getDate("yyyy-MM-dd");}/*** 得到當前日期字符串 格式(yyyy-MM-dd) pattern可以為:"yyyy-MM-dd" "HH:mm:ss" "E"*/public static String getDate(String pattern) {return DateFormatUtils.format(new Date(), pattern);}/*** 得到日期字符串 默認格式(yyyy-MM-dd) pattern可以為:"yyyy-MM-dd" "HH:mm:ss" "E"*/public static String formatDate(Date date, Object... pattern) {String formatDate = null;if (pattern != null && pattern.length > 0) {formatDate = DateFormatUtils.format(date, pattern[0].toString());}else {formatDate = DateFormatUtils.format(date, "yyyy-MM-dd");}return formatDate;}/*** 得到日期時間字符串,轉換格式(yyyy-MM-dd HH:mm:ss)*/public static String formatDateTime(Date date) {return formatDate(date, "yyyy-MM-dd HH:mm:ss");}public static Date parseStrTime(String time){try {return fmt.parse(time);} catch (ParseException e) {e.printStackTrace();return null;}}public static Date parseStrTimeyyyyMMddHHmm(String time){try {return fmt_yyyyMMddHHmm.parse(time);} catch (ParseException e) {e.printStackTrace();return null;}}    /*** 得到當前時間字符串 格式(HH:mm:ss)*/public static String getTime() {return formatDate(new Date(), "HH:mm:ss");}/*** 得到當前日期和時間字符串 格式(yyyy-MM-dd HH:mm:ss)*/public static String getDateTime() {return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");}/*** 得到當前年份字符串 格式(yyyy)*/public static String getYear() {return formatDate(new Date(), "yyyy");}/*** 得到當前月份字符串 格式(MM)*/public static String getMonth() {return formatDate(new Date(), "MM");}/*** 得到當天字符串 格式(dd)*/public static String getDay() {return formatDate(new Date(), "dd");}/*** 得到當前星期字符串 格式(E)星期幾*/public static String getWeek() {return formatDate(new Date(), "E");}/*** 日期型字符串轉化為日期 格式* { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", * "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm",* "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm",* "yyyyMMddHHmmss", "yyyyMMdd" }*/public static Date parseDate(Object str) {if (str == null){return null;}try {return parseDate(str.toString(), parsePatterns);} catch (ParseException e) {return null;}}/*** 獲取過去的天數* @param date* @return*/public static long pastDays(Date date) {long t = new Date().getTime()-date.getTime();return t/(24*60*60*1000);}/*** 獲取過去的小時* @param date* @return*/public static long pastHour(Date date) {long t = new Date().getTime()-date.getTime();return t/(60*60*1000);}/*** 獲取過去的分鐘* @param date* @return*/public static long pastMinutes(Date date) {long t = new Date().getTime()-date.getTime();return t/(60*1000);}/*** 轉換為時間(天,時:分:秒.毫秒)* @param timeMillis* @return*/public static String formatDateTime(long timeMillis){long day = timeMillis/(24*60*60*1000);long hour = (timeMillis/(60*60*1000)-day*24);long min = ((timeMillis/(60*1000))-day*24*60-hour*60);long s = (timeMillis/1000-day*24*60*60-hour*60*60-min*60);long sss = (timeMillis-day*24*60*60*1000-hour*60*60*1000-min*60*1000-s*1000);return (day>0?day+",":"")+hour+":"+min+":"+s+"."+sss;}/*** 獲取兩個日期之間的天數* * @param before* @param after* @return*/public static double getDistanceOfTwoDate(Date before, Date after) {long beforeTime = before.getTime();long afterTime = after.getTime();return (afterTime - beforeTime) / (1000 * 60 * 60 * 24);}public static String longToString(long currentTime){Date dateOld = new Date(currentTime);SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");return sdf.format(dateOld);}/*** @param args* @throws ParseException*/public static void main(String[] args) throws ParseException {SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(sdf.format(Long.parseLong("1463361862000")));}/*** 獲取兩個日期之間的小時* * @param before* @param after* @return*/public static double getDistanceOfTwoHour(Date before, Date after) {long beforeTime = before.getTime();long afterTime = after.getTime();return (afterTime - beforeTime) / (1000 * 60 * 60);}
}

?

轉載于:https://www.cnblogs.com/zwdx/p/7196288.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455150.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455150.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455150.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python-MongoDB的驅動安裝、升級

安裝pip,并通過此來安裝pymongo–Python mongodb驅動 1、下載pip安裝包,下載地址:http://pypi.python.org/packages/source/p/pip/pip-1.0.2.tar.gz#md547ec6ff3f6d962696fe08d4c8264ad49 2、解壓安裝: tar -zxf pip.1.0.2.tar.gz…

python5_python5

python2&python31.python2中print可加括號可不加括號,python3中print一定要加括號。2.python2中有range(),也有xrange(),python中只有range()。生成器。3.Python2中raw_input(),python3中input()。,,is賦值比較是否相等is 比較內存地址,id(內容)li1[…

單例設計模式1

單例 所謂單例設計模式,即時采取一定的方法保證在整個軟件系統當中,對于某個類只能存在一個對象實例,并且該類只提供一個其對象實例的方法(靜態方法) 惡漢式 優缺點說明: 優點:這種寫法比較簡單,就是在類裝載的時候就完成實例化.避免了線程同步問題 缺點: 在類裝載的時候就…

SJXXX串口擴展芯片 4串口芯片 UART串口芯片

SJXX串口擴展芯片1 概述SJ000是一款具備I2C總線/SPI總線/UART接口的四通道異步收發器件,通過模式選擇使得該器件工作于以上任何一種主接口模式下。器件的四個通道UART可提供高達2Mbps的數據率,低功耗模式和睡眠電流。每個通道含有一個接收器和一個發送器…

MPLS服務合同到期了,是否該續簽?

當考慮是否要更新現有MPLS服務合同以及續簽多久時,你需要著眼于從價格到部署速度的方方面面。簡而言之,如果你還沒有獲取一些與軟件定義廣域網有關技術的經驗,即使用寬帶或取代MPLS服務,那么你就沒辦法在未來幾個月之內棄用MPLS。…

oracle rds 運維服務_從運維的角度分析使用阿里云數據庫RDS的必要性–你不應該在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL數據庫...

開宗明義,你不應該在阿里云上使用自建的MySQL or SQL Server數據庫,對了,還有Oracle or PostgreSQL數據庫。云數據庫 RDS(Relational Database Service)是一種穩定可靠、可彈性伸縮的在線數據庫服務。基于飛天分布式系統和全SSD盤高性能存儲&…

單例設計模式2

惡漢式(靜態代碼塊兒) 優缺點說明: 這種方式和上面的相似,只不過將類實例化的過程放在了靜態代碼塊中,也是在類裝載的時候,就執行靜態代碼塊兒中的代碼,初始化類的實例.優缺點和上面是一樣的. 結論: 這種單例模式可用,可能 造成內存浪費 代碼演示 package com.atguigu.pri…

FLV文件格式解析

FLV(Flash Video)是現在非常流行的流媒體格式,由于其視頻文件體積輕巧、封裝播放簡單等特點,使其很適合在網絡上進行應用,目前主流的視頻網站無一例外地使用了FLV格式。另外由于當前瀏覽器與Flash Player緊密的結合&am…

華院數據宣曉華:傳統零售商轉型電商需攻克大數據三關

現在電商發展起來的節奏,使得大眾更相信馬云所言“五年內將沒有線下銷售”的可信度。面對這樣的轉變最該緊張的似乎是傳統零售商了,日前在中美創新鏈接——大數據專題研討會上,華院數據創始人、董事長宣曉華談了傳統零售商在轉型過程中遭遇的…

部署到gcp_GCP 網絡系統Andromeda --- 概述篇

這個系列總共有三篇,分別在:肖宏輝:GCP 網絡系統Andromeda --- 概述篇肖宏輝:GCP 網絡系統Andromeda --- 控制面肖宏輝:GCP 網絡系統Andromeda --- 數據面最近看了Google在2018年的一篇NSDI文章,介紹他們的…

單例設計模式-懶漢式(線程不安全)

懶漢式(線程不安全) 優缺點說明 起到了Lazy Loading的效果,但是只能在單線程下使用 如果在多線程下, 一個線程進入if(singleton null)判斷 語句塊,還未來得及往下執行,另一個線程也通過了這個判斷語句,這時便會產生多個實例. 所以在多線程的環境下,不可使用種方式 結論:在…

南海發展大數據產業 建設新型智慧城市

今天(9月5日)上午,佛山市南海區將迎來一大盛事——“南海大數據及工業互聯網創新應用工作推進會”(以下簡稱“推進會”)召開,南海將與阿里巴巴、騰訊以及三大通信運營商等互聯網、大數據巨頭簽訂21個大數據建設亮點項目。同時,為吸引更多大數據產業集聚,南海將在推進會上同步發…

AMR音頻編碼器概述及文件格式分析

全稱Adaptive Multi-Rate,自適應多速率編碼,主要用于移動設備的音頻,壓縮比比較大,但相對其他的壓縮格式質量比較差,由于多用于人聲,通話,效果還是很不錯的。 一、分類 1. AMR: 又稱為AMR-NB&am…

查詢自己OpenGL的版本信息

GLvoid PrintVersion() {const GLubyte* name glGetString(GL_VENDOR); //返回負責當前OpenGL實現廠商的名字const GLubyte* biaoshifu glGetString(GL_RENDERER); //返回一個渲染器標識符,通常是個硬件平臺const GLubyte* OpenGLVersion glGetStr…

airpod藍牙耳機音量大解決辦法_關于AirPods的常見問題匯總 全面了解蘋果AirPods無線耳機...

小編帶來關于AirPods必知的24個問題,全面了解蘋果AirPods無線耳機。蘋果決定在iPhone7中拋棄3.5毫米耳機接口,這引發了許多爭議和不解。蘋果這樣做的原因部分在于,希望人們轉而使用無線耳機。因此蘋果也推出了自主的無線耳機AirPods。對于無線…

單例設計模式-懶漢式(線程安全)

懶漢式(線程安全) 有缺點說明 解決了線程不安全問題 效率太低了,每個線程在想獲得類的實例時候,執行getInstance()方法都要進行同步.而其實這個方法只執行了一次實例化代碼就夠了,后面的想獲取該類實例,直接return就行了.方法進行同步效率太低 結論: 在實際開發中,不推薦使用…

剖析Docker Swarm和Mesos:是什么?如何結合?有什么優勢?

本文講的是剖析Docker Swarm和Mesos:是什么?如何結合?有什么優勢?,【編者的話】本文來自Mesosphere,從生產環境的需求出發,簡要介紹了Docker Swarm的誕生背景,以及其與Mesos、 Mesos…

濮陽第二屆創客機器人比賽_咸陽市舉行第二屆機器人大賽暨第一屆創客大賽

11月14日,由陜西省教育信息化管理中心指導,市教育局主辦,咸陽師范學院、市少工委協辦的咸陽市第二屆機器人大賽暨第一屆創客大賽在咸陽師范學院舉辦。各個學校的同學展示自己的發明創造。咸陽日報全媒體記者 馬沅聰 攝據悉,來自各…

MP3文件格式解析

1, MP3簡介 MP3是今天一種常見的音樂格式,但恐怕除了工作要求之外,有興趣對此進行研究的人恐怕不多。所以,當我打算做MP3解碼方面的工作時,在找資料時也頗費了一番周折,同時也覺得很有趣。所以想在這里分…

懶漢式(線程安全,同步代碼塊兒)

懶漢式(線程安全,同步代碼塊兒) 代碼演示 // 懶漢式 (線程安全_ 同步放法_) class Singleton{private static Singleton instance;private Singleton() {}// 提供一個靜態的公有方法 加入了同步處理的代碼// 解決線程安全問題// 即懶漢式// 我們在這里加一個關鍵字 synchroni…