時間工具類,DateUtil各種好用
package com.huxin.utils; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; import java.util.TimeZone; public class DateUtil { private final static SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy"); private final static SimpleDateFormat sdfDay = new SimpleDateFormat( "yyyy-MM-dd"); private final static SimpleDateFormat sdfDays = new SimpleDateFormat( "yyyyMMdd"); private final static SimpleDateFormat sdfTime = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss"); /** * 獲取YYYY格式 * * @return */ public static String getYear() { return sdfYear.format(new Date()); } /** * 獲取YYYY-MM-DD格式 * * @return */ public static String getDay() { return sdfDay.format(new Date()); } /** * 獲取YYYYMMDD格式 * * @return */ public static String getDays(){ return sdfDays.format(new Date()); } /** * 獲取YYYY-MM-DD HH:mm:ss格式 * * @return */ public static String getTime() { return sdfTime.format(new Date()); } /** * @Title: compareDate * @Description: TODO(日期比較,如果s>=e 返回true 否則返回false) * @param s * @param e * @return boolean * @throws * @author luguosui */ public static boolean compareDate(String s, String e) { if(fomatDate(s)==null||fomatDate(e)==null){ return false; } return fomatDate(s).getTime() >=fomatDate(e).getTime(); } /** * 格式化日期 * * @return */ public static Date fomatDate(String date) { DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); try { return fmt.parse(date); } catch (ParseException e) { e.printStackTrace(); return null; } } /** * 校驗日期是否合法 * * @return */ public static boolean isValidDate(String s) { DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); try { fmt.parse(s); return true; } catch (Exception e) { // 如果throw java.text.ParseException或者NullPointerException,就說明格式不對 return false; } } public static int getDiffYear(String startTime,String endTime) { DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); try { int years=(int) (((fmt.parse(endTime).getTime()-fmt.parse(startTime).getTime())/ (1000 * 60 * 60 * 24))/365); return years; } catch (Exception e) { // 如果throw java.text.ParseException或者NullPointerException,就說明格式不對 return 0; } } /** * <li>功能描述:時間相減得到天數 * @param beginDateStr * @param endDateStr * @return * long * @author Administrator */ public static long getDaySub(String beginDateStr,String endDateStr){ long day=0; java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date beginDate = null; java.util.Date endDate = null; try { beginDate = format.parse(beginDateStr); endDate= format.parse(endDateStr); } catch (ParseException e) { e.printStackTrace(); } day=(endDate.getTime()-beginDate.getTime())/(24*60*60*1000); //System.out.println("相隔的天數="+day); return day; } /** * 得到n天之後的日期 * @param days * @return */ public static String getAfterDayDate(String days) { int daysInt = Integer.parseInt(days); Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DATE, daysInt); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = sdfd.format(date); return dateStr; } /** * 得到n天之後是周幾 * @param days * @return */ public static String getAfterDayWeek(String days) { int daysInt = Integer.parseInt(days); Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DATE, daysInt); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); SimpleDateFormat sdf = new SimpleDateFormat("E"); String dateStr = sdf.format(date); return dateStr; } /* * 獲取n個月後的日期 */ public static String getAfterMonthDate(String month) throws Exception { int daysInt = Integer.parseInt(month); //Calendar canlendar = Calendar.getInstance(); // java.util包 Calendar canlendar = Calendar.getInstance(); // java.util包 //canlendar.setTime(sdfTime.parse("1994-1-30 12:12:25")); canlendar.add(Calendar.MONTH, daysInt); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateStr = sdfd.format(date); return dateStr; } /** n個月後的今天 */ public static Date getAfterMonthBao(Date sj,int daysInt) throws Exception { //Calendar canlendar = Calendar.getInstance(); // java.util包 Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.setTime(sj); canlendar.add(Calendar.MONTH, daysInt); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); return date; } /** * 得到n天之後的日期 * @param days * @return */ public static String getAfterDay(String days) { int daysInt = Integer.parseInt(days); Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DATE, daysInt); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = sdfd.format(date); return dateStr; } /** * 獲取當前時間 精確到小時 * @return */ public static String getPlanNumber() { //SimpleDateFormat sdfd = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateFormat sdfd = new SimpleDateFormat("yyyyMMddHHmmss"); String dateStr = sdfd.format(new Date()); String rs=dateStr.substring(2,dateStr.length()-6); return rs; } /** * 格式化時間輸出,短時間 * @param date * @return */ public static String getDateWo(Date date){ return sdfDay.format(date); } /** * 得到n天之後的日期的時間戳,短時間 * @param days * @return 返回秒數 */ public static int getAfterDayInt(String days) { int daysInt = Integer.parseInt(days); Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DATE, daysInt); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = sdfd.format(date); return (int)(fomatDate(dateStr).getTime()/1000); } /** * 得到n天之後的日期的時間戳,長時間 * @return 返回秒數 */ public static int getToDayLong() { return (int)(new Date().getTime()/1000); } /* * 精確到天的秒數 */ public static int getAddTimeInt(long t) { try { Date date=new Date(t*1000); String now=sdfDay.format(date); return (int)(sdfDay.parse(now).getTime()/1000); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return 0; } /** * 格式化日期 * * @return 獲得長時間精確到秒 */ public static Date fomatDateLong(String date) { DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); try { return fmt.parse(date); } catch (ParseException e) { e.printStackTrace(); return null; } } /** * 獲取當前小時 * @return */ public static int getHour() { Calendar cal = Calendar.getInstance(); //int year = cal.get(Calendar.YEAR);//獲取年份 //int month=cal.get(Calendar.MONTH);//獲取月份 //int day=cal.get(Calendar.DATE);//獲取日 int hour=cal.get(Calendar.HOUR_OF_DAY);//小時 //int minute=cal.get(Calendar.MINUTE);//分 //int second=cal.get(Calendar.SECOND);//秒 //int dayofweek = cal.get(Calendar.DAY_OF_WEEK);//一週的第幾天 //if(1==1) //return false; //if(hour<9 || (hour >= 12 && hour <13 ) || hour >16) // { // return true; // } return hour; } /* * 獲取n個月後的日期--精確到天 */ public static String getAfterMonthDay(String month) throws Exception { int daysInt = Integer.parseInt(month); Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.MONTH, daysInt); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); String dateStr = sdfDay.format(date); return dateStr; } /** * 獲取今天日期 yyyy-MM-dd * @return */ public static Date getNow(){ return fomatDate(DateUtil.getDateWo(new Date())); } /* * 將時間戳轉換為字串型別 yyyy年MM月dd */ public static String getDateStr(long time){ Date date=new Date(time); SimpleDateFormat sdfDay = new SimpleDateFormat("yyyy年MM月dd"); return sdfDay.format(date); } /** * 得到n天之後的日期 * @param days * @return * @throws Exception */ public static Date getBeforeDayDate(int days) throws Exception { int daysInt = days; Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DATE, daysInt); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = sdfd.format(date); Date dateNow=sdfDay.parse(dateStr); return dateNow; } /* * 取整天的時間戳範圍,精確到天 */ public static int getDateToDayOneInt(){ String str=getDay(); Date dat=fomatDate(str); return (int)(dat.getTime()/1000); } /** * 精確到某一個的時間戳 yyyy-MM-dd * @param date * @return */ public static int StrDateToInt(String date){ try { return (int)(sdfDay.parse(date).getTime()/1000); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return 0; } /** * 獲取前幾個月前幾天的日期詳情 * @param month 月數 * @param day 天數 + 往後 -往前 * @return 日期時間 yyyy-mm-dd * @throws Exception */ public static Date getAfterMonthDay(int month,int day) throws Exception { //Calendar canlendar = Calendar.getInstance(); // java.util包 Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.DAY_OF_MONTH, day); canlendar.add(Calendar.MONTH, month); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); return fomatDate(sdfDay.format(date)); } /** * 獲取前幾個月前幾天的日期詳情 * @param month 月數 * @param day 天數 + 往後 -往前 * @return 日期時間 yyyy-mm-dd * @throws Exception */ public static Date getAfterMonthDay(Date datePlan,int month,int day) throws Exception { //Calendar canlendar = Calendar.getInstance(); // java.util包 Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.setTime(datePlan); canlendar.add(Calendar.DAY_OF_MONTH, day); canlendar.add(Calendar.MONTH, month); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); return fomatDate(sdfDay.format(date)); } /** * 時間戳轉換為時間字串 * @param sec * @return */ public static String int2LongDate(long sec){ Date date=new Date(sec*1000); return sdfTime.format(date); } /** * 獲取本月的第一天 * @return */ public static String getTheMonthFirstDay(){ //獲取當前月第一天: Calendar c = Calendar.getInstance(); c.add(Calendar.MONTH, 0); //設定為1號,當前日期既為本月第一天 c.set(Calendar.DAY_OF_MONTH,1); String first = sdfDay.format(c.getTime()); System.out.println("===============first:"+first); return first; } /** * 獲取本月的最後一天 * @return */ public static String getTheMonthLastDay(){ //獲取當前月最後一天 Calendar ca = Calendar.getInstance(); ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); String last = sdfDay.format(ca.getTime()); System.out.println("===============last:"+last); return last; } /* * 本月+1 */ public static String toDayAddOneMonth() throws Exception{ return sdfDay.format(getAfterMonthBao(fomatDate(getTheMonthFirstDay()), 1)); } /** * 獲取date+time合成之後的時間的時間戳 * @param planDate * @param time * @return * @throws Exception */ public static int planDateAndDayTime(Date planDate,Date time) throws Exception{ String plan=sdfTime.format(planDate); String day=sdfTime.format(time); String start=plan.substring(0,day.indexOf(" ")); String end=day.substring(day.indexOf(" ")+1); int ms=(int)(sdfTime.parse(start+" "+end).getTime()/1000); return ms; } /* * 設定指定小時的時間 */ public static String sheHourTime(int hour){ Calendar c = Calendar.getInstance(); //設定為1號,當前日期既為本月第一天 c.set(Calendar.HOUR_OF_DAY,hour); c.set(Calendar.MINUTE,0); c.set(Calendar.SECOND,0); String first = sdfTime.format(c.getTime()); return first; } /** * 兩個日期之間的天數差 * @param start * @param end * @return */ public static int getDaySubInt(long start,long end){ String str_begin=sdfDay.format(new Date(start*1000)); String str_end=sdfDay.format(new Date(end*1000)); return (int) getDaySub(str_begin,str_end); } //時間格式化 yyyy-MM-dd public static String Date2Str(Date date){ return sdfDay.format(date); } /** * 判斷傳遞過來的日期是否是當天 * * @param date * @return */ public static boolean isCurrentDay(Date date) { try { String dateStr = sdfDay.format(date); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); Date d = format.parse(dateStr); return getNow().compareTo(d) == 0; } catch (Exception e) { return false; } } /* 獲取格式化時間 */ public static String getDateStr(String dateTime){ String toDay=""; SimpleDateFormat geshi = new SimpleDateFormat("yyyy年MM月dd"); try { toDay=geshi.format(sdfDay.parse(dateTime)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return toDay; } /* 2016年05月03 10:32 */ public static String getDateStrMo(){ SimpleDateFormat sdf = new SimpleDateFormat( "yyyy年MM月dd HH:mm"); return sdf.format(new Date()); } public static int addYear(int daysInt){ Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.add(Calendar.YEAR, daysInt); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); SimpleDateFormat sdfd = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = sdfd.format(date); return DateUtil.StrDateToInt(dateStr); } public static int getAfterMonthDayInt(Date datePlan,int month,int day) throws Exception { Calendar canlendar = Calendar.getInstance(); // java.util包 canlendar.setTime(datePlan); canlendar.add(Calendar.DAY_OF_MONTH, day); canlendar.add(Calendar.MONTH, month); // 日期減 如果不夠減會將月變動 Date date = canlendar.getTime(); return (int)(date.getTime()/1000); } public static void main(String[] args) throws Exception{ /* System.out.println(getDays()); System.out.println(getAfterDayWeek("3")); System.out.println(getAfterMonthDate("1")); System.out.println(getAfterMonthBao(new Date(), 2)); */ System.out.println(getAfterDay("105")); } public static String dateToLLPayFormat(String s) { SimpleDateFormat dataFormat = new SimpleDateFormat("yyyyMMddHHmmss", Locale.getDefault()); if (s.length() == 10) { return dataFormat.format(new Date(Long.valueOf(s + "000"))); } else { return dataFormat.format(new Date(Long.valueOf(s + "000"))); } } public static String changeTimeZone(long time, String format) { Date date = new Date(time); SimpleDateFormat dateFormat = new SimpleDateFormat(format);//yyyyMMddHHmmss dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+08")); String dateStrTmp = dateFormat.format(date); return dateStrTmp; } }
相關推薦
時間工具類,DateUtil各種好用
package com.huxin.utils; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.u
java開發中常用的日期時間工具類 DateUtil
java開發中常會用到的 日期時間工具類。 package org.demo; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateForm
時間工具類(DateUtil)
1 [java] view plaincopyprint? 2 /** 3 * UtilsTest 4 * 時間日期工具類,封裝工作中常用的一些時間日期計算方法等 5 * 還可以提供更多的過載方法,用於時間的轉化等 6 */ 7 package com.labci.uti
DateUtil 工具類整理一些自己用到過得,有點邏輯處理的方法
/** * 獲取當前的年分 * * @return*/public static int getSeasonId() { Calendar cal = Calendar.getInstance(); return cal.get(Calendar.YEAR);}
驚豔死你的各種好用工具
體育免費直播(NBA 足球)http://m.nball.cc/ 全國電視直播(含港澳等)http://bddn.cn/zb.htm 油猴指令碼(瀏覽器開掛 這個是真心厲害 各種吊炸天功能 包括各視訊網站免VIP)https://blog.csdn.net/Jai
為大家提供一個好的時間工具類DateTime
此類的靈感來源於C# 雖然網上有什麼date4j,但是jar太糾結了,先給出原始碼,可以繼承到自己的util包中,作為一個資深程式設計師,我相信都有不少好的util工具類,我也希望經過此次分享,能帶動技術大牛們能分享出自己的好用的工具類。 先看原始碼 /* * 岸思科技
開源Java時間工具類Joda-Time體驗
java import org.joda.time.*; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import org.junit.Test; import java
時間工具類
ava args pla body package java gettime pac ins 一、得到當前時間的前一天 package com.qiyuan.util; import java.text.SimpleDateFormat; import java.ut
高精度大數c++類模板 很好用
details lean 代碼 sprintf printf span tdi 我只 tar 首先聲明這是大佬寫的,我只是記錄下,拿來學習。附上大佬的鏈接 : https://blog.csdn.net/code4101/article/details/2302052
獲取當前系統時間工具類TimeUtils
string public date() new edate 當前 com strong alt TimeUtils: package com.duocy.util; import java.time.LocalDateTime;import java.time.f
Spring-Boot ? ShapeFile文件讀寫工具類+接口調用
void while har ble mage cto next() bound 添加 一、項目目錄結構樹 二、項目啟動 三、往指定的shp文件裏寫內容 (1) json數據【Post】 {
jdk8時間工具類
package com.changfu.common.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; im
時間工具類(DateUtils)
在jeesite的基礎上封裝了DateUtils工具類 有獲取年限,判斷是不是週末等等工具 package com.thinkgem.jeesite.common.utils; import java.text.DateFormat; import java.text.ParseExcep
idea 時間工具類
private static final String DEFAULT_FORMAT = "yyyy-MM-dd"; //定義預設的日期格式 /** * 判斷時間是否有效 * * @param date 用正則表示式判斷 yyyy-MM-dd * @return */ public st
js獲取時間工具類
function getTime() { var now = new Date(); var year = now.getFullYear(); //年 var month = now.getMonth() + 1; //月 &n
java小數運算,內附現成的工具類。不能用double和float,要用decimal
https://www.cnblogs.com/xujishou/p/7491932.h 為什麼會出現這個問題呢,就這是java和其它計算機語言都會出現的問題,下面我們分析一下為什麼會出現這個問題: float和double型別主要是為了科學計算和工程計算而設計的。他們執行二進位制浮點運算,這是
日期工具類 DateUtil
工作中需要用到各種日期格式化,以下為平時常用的格式化。 獲取當前時間 Date getCurrentDateTime() 通用日期格式化 String getDateString 通用日期時間格式化,
202.常用java時間工具類
1. 效果 2. 工具類 package ipi.common.utils; import java.text.Format; import java.text.ParseException; import java.text.SimpleDa
操作session的工具類(目前是用在了ssm)
package com.ye_0809.util; /** *session工具類 *@Author 何爽 *@Date 2018-9-20 **/ import javax.servlet.http.HttpServletRequest; import javax
時間工具類DateUlits,判斷某一時間距離當前時間幾分鐘、幾小時、幾天前
在我們開發中經常要對時間進行處理,把這些處理方法做成一個工具類是十分方面的,下面是我整理的一些時間處理的方法。 DateUlits方法目錄: 1、列印當前日期 2、輸入年-月-日 轉化為date型別 3、獲得一個 Date 物件例項 4、設定時間 5、獲取當前時間的前一