java的時(shí)間操作_第1頁
java的時(shí)間操作_第2頁
java的時(shí)間操作_第3頁
java的時(shí)間操作_第4頁
java的時(shí)間操作_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、java的時(shí)間操作2008年02月01日 星期五 11:12/*日期類* date 2003-12-04* version 1.0*/import java.util.*;import java.text.*;import java.util.Calendar;public class VeDate /* 獲取現(xiàn)在時(shí)間* return 返回時(shí)間類型 yyyy-MM-dd HH:mm:ss*/public static Date getNowDate() Date currentTime = new Date();SimpleDateFormat formatter = new SimpleDa

2、teFormat("yyyy-MM-dd HH:mm:ss");String dateString = formatter.format(currentTime);ParsePosition pos = new ParsePosition(8);Date currentTime_2 = formatter.parse(dateString, pos);return currentTime_2;/* 獲取現(xiàn)在時(shí)間* return返回短時(shí)間格式 yyyy-MM-dd*/public static Date getNowDateShort() Date currentTime =

3、 new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");String dateString = formatter.format(currentTime);ParsePosition pos = new ParsePosition(8);Date currentTime_2 = formatter.parse(dateString, pos);return currentTime_2;/* 獲取現(xiàn)在時(shí)間* return返回字符串格式 yyyy-MM-dd HH:mm:ss*/pu

4、blic static String getStringDate() Date currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString = formatter.format(currentTime);return dateString;/* 獲取現(xiàn)在時(shí)間* return 返回短時(shí)間字符串格式y(tǒng)yyy-MM-dd*/public static String getStringDateShort() Da

5、te currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");String dateString = formatter.format(currentTime);return dateString;/* 獲取時(shí)間 小時(shí):分;秒 HH:mm:ss* return*/public static String getTimeShort() SimpleDateFormat formatter = new SimpleDateFormat("HH:mm

6、:ss");Date currentTime = new Date();String dateString = formatter.format(currentTime);return dateString;/* 將長時(shí)間格式字符串轉(zhuǎn)換為時(shí)間 yyyy-MM-dd HH:mm:ss* param strDate* return*/public static Date strToDateLong(String strDate) SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"

7、;);ParsePosition pos = new ParsePosition(0);Date strtodate = formatter.parse(strDate, pos);return strtodate;/* 將長時(shí)間格式時(shí)間轉(zhuǎn)換為字符串 yyyy-MM-dd HH:mm:ss* param dateDate* return*/public static String dateToStrLong(java.util.Date dateDate) SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH

8、:mm:ss");String dateString = formatter.format(dateDate);return dateString;/* 將短時(shí)間格式時(shí)間轉(zhuǎn)換為字符串 yyyy-MM-dd* param dateDate* param k* return*/public static String dateToStr(java.util.Date dateDate) SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");String dateString = formatte

9、r.format(dateDate);return dateString;/* 將短時(shí)間格式字符串轉(zhuǎn)換為時(shí)間 yyyy-MM-dd* param strDate* return*/public static Date strToDate(String strDate) SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");ParsePosition pos = new ParsePosition(0);Date strtodate = formatter.parse(strDate, pos);ret

10、urn strtodate;/* 得到現(xiàn)在時(shí)間* return*/public static Date getNow() Date currentTime = new Date();return currentTime;/* 提取一個(gè)月中的最后一天* param day* return*/public static Date getLastDate(long day) Date date = new Date();long date_3_hm = date.getTime() - 3600000 * 34 * day;Date date_3_hm_date = new Date(date_3_

11、hm);return date_3_hm_date;/* 得到現(xiàn)在時(shí)間* return 字符串 yyyyMMdd HHmmss*/public static String getStringToday() Date currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");String dateString = formatter.format(currentTime);return dateString;/* 得到現(xiàn)在小時(shí)*/public st

12、atic String getHour() Date currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString = formatter.format(currentTime);String hour;hour = dateString.substring(11, 13);return hour;/* 得到現(xiàn)在分鐘* return*/public static String getTime() Date

13、currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString = formatter.format(currentTime);String min;min = dateString.substring(14, 16);return min;/* 根據(jù)用戶傳入的時(shí)間表示格式,返回當(dāng)前時(shí)間的格式 如果是yyyyMMdd,注意字母y不能大寫。* param sformat* yyyyMMddhhmmss* ret

14、urn*/public static String getUserDate(String sformat) Date currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat(sformat);String dateString = formatter.format(currentTime);return dateString;/* 二個(gè)小時(shí)時(shí)間間的差值,必須保證二個(gè)時(shí)間都是"HH:MM"的格式,返回字符型的分鐘*/public static String getTwoHour(St

15、ring st1, String st2) String kk = null;String jj = null;kk = st1.split(":");jj = st2.split(":");if (Integer.parseInt(kk0) < Integer.parseInt(jj0) return "0"else double y = Double.parseDouble(kk0) + Double.parseDouble(kk1) / 60; double u = Double.parseDouble(jj0) + Do

16、uble.parseDouble(jj1) / 60; if (y - u) > 0) return y - u + "" else return "0"/* 得到二個(gè)日期間的間隔天數(shù)*/public static String getTwoDay(String sj1, String sj2) SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");long day = 0;try java.util.Date date = myFormatter.p

17、arse(sj1); java.util.Date mydate = myFormatter.parse(sj2); day = (date.getTime() - mydate.getTime() / (24 * 60 * 60 * 1000); catch (Exception e) return ""return day + ""/* 時(shí)間前推或后推分鐘,其中JJ表示分鐘.*/public static String getPreTime(String sj1, String jj) SimpleDateFormat format = new Si

18、mpleDateFormat("yyyy-MM-dd HH:mm:ss");String mydate1 = ""try Date date1 = format.parse(sj1); long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60; date1.setTime(Time * 1000); mydate1 = format.format(date1); catch (Exception e) return mydate1;/* 得到一個(gè)時(shí)間延后或前移幾天的時(shí)間,nowdat

19、e為時(shí)間,delay為前移或后延的天數(shù)*/public static String getNextDay(String nowdate, String delay) trySimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");String mdate = ""Date d = strToDate(nowdate);long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;d.setTime(my

20、Time * 1000);mdate = format.format(d);return mdate;catch(Exception e) return ""/* 判斷是否潤年* param ddate* return*/public static boolean isLeapYear(String ddate) /* * 詳細(xì)設(shè)計(jì): 1.被400整除是閏年,否則: 2.不能被4整除則不是閏年 3.能被4整除同時(shí)不能被100整除則是閏年 * 3.能被4整除同時(shí)能被100整除則不是閏年 */Date d = strToDate(ddate);GregorianCalendar

21、 gc = (GregorianCalendar) Calendar.getInstance();gc.setTime(d);int year = gc.get(Calendar.YEAR);if (year % 400) = 0) return true;else if (year % 4) = 0) if (year % 100) = 0) return false; else return true; else return false;/* 返回美國時(shí)間格式 26 Apr 2006* param str* return*/public static String getEDate(St

22、ring str) SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");ParsePosition pos = new ParsePosition(0);Date strtodate = formatter.parse(str, pos);String j = strtodate.toString();String k = j.split(" ");return k2 + k1.toUpperCase() + k5.substring(2, 4);/* 獲取一個(gè)月的最后一天* p

23、aram dat* return*/public static String getEndDateOfMonth(String dat) / yyyy-MM-ddString str = dat.substring(0, 8);String month = dat.substring(5, 7);int mon = Integer.parseInt(month);if (mon = 1 | mon = 3 | mon = 5 | mon = 7 | mon = 8 | mon = 10 | mon = 12) str += "31" else if (mon = 4 | m

24、on = 6 | mon = 9 | mon = 11) str += "30" else if (isLeapYear(dat) str += "29" else str += "28" return str;/* 判斷二個(gè)時(shí)間是否在同一個(gè)周* param date1* param date2* return*/public static boolean isSameWeekDates(Date date1, Date date2) Calendar cal1 = Calendar.getInstance();Calendar ca

25、l2 = Calendar.getInstance();cal1.setTime(date1);cal2.setTime(date2);int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);if (0 = subYear) if (cal1.get(Calendar.WEEK_OF_YEAR) = cal2.get(Calendar.WEEK_OF_YEAR) return true; else if (1 = subYear && 11 = cal2.get(Calendar.MONTH) / 如果12

26、月的最后一周橫跨來年第一周的話則最后一周即算做來年的第一周 if (cal1.get(Calendar.WEEK_OF_YEAR) = cal2.get(Calendar.WEEK_OF_YEAR) return true; else if (-1 = subYear && 11 = cal1.get(Calendar.MONTH) if (cal1.get(Calendar.WEEK_OF_YEAR) = cal2.get(Calendar.WEEK_OF_YEAR) return true;return false;/* 產(chǎn)生周序列,即得到當(dāng)前時(shí)間所在的年度是第幾周* re

27、turn*/public static String getSeqWeek() Calendar c = Calendar.getInstance(Locale.CHINA);String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR);if (week.length() = 1) week = "0" + week;String year = Integer.toString(c.get(Calendar.YEAR);return year + week;/* 獲得一個(gè)日期所在的周的星期幾的日期,如要找出2002年

28、2月3日所在周的星期一是幾號(hào)* param sdate* param num* return*/public static String getWeek(String sdate, String num) / 再轉(zhuǎn)換為時(shí)間Date dd = VeDate.strToDate(sdate);Calendar c = Calendar.getInstance();c.setTime(dd);if (num.equals("1") / 返回星期一所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);else if (num.equa

29、ls("2") / 返回星期二所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);else if (num.equals("3") / 返回星期三所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);else if (num.equals("4") / 返回星期四所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);else if (num.equals("5"

30、;) / 返回星期五所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);else if (num.equals("6") / 返回星期六所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);else if (num.equals("0") / 返回星期日所在的日期 c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);return new SimpleDateFormat("yyyy-MM-dd")

31、.format(c.getTime();/* 根據(jù)一個(gè)日期,返回是星期幾的字符串* param sdate* return*/public static String getWeek(String sdate) / 再轉(zhuǎn)換為時(shí)間Date date = VeDate.strToDate(sdate);Calendar c = Calendar.getInstance();c.setTime(date);/ int hour=c.get(Calendar.DAY_OF_WEEK);/ hour中存的就是星期幾了,其范圍 17/ 1=星期日 7=星期六,其他類推return new SimpleDa

32、teFormat("EEEE").format(c.getTime();public static String getWeekStr(String sdate)String str = ""str = VeDate.getWeek(sdate);if("1".equals(str) str = "星期日"else if("2".equals(str) str = "星期一"else if("3".equals(str) str = "星期二&q

33、uot;else if("4".equals(str) str = "星期三"else if("5".equals(str) str = "星期四"else if("6".equals(str) str = "星期五"else if("7".equals(str) str = "星期六"return str;/* 兩個(gè)時(shí)間之間的天數(shù)* param date1* param date2* return*/public static lon

34、g getDays(String date1, String date2) if (date1 = null | date1.equals("") return 0;if (date2 = null | date2.equals("") return 0;/ 轉(zhuǎn)換為標(biāo)準(zhǔn)時(shí)間SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");java.util.Date date = null;java.util.Date mydate = null;try date =

35、myFormatter.parse(date1); mydate = myFormatter.parse(date2); catch (Exception e) long day = (date.getTime() - mydate.getTime() / (24 * 60 * 60 * 1000);return day;/* 形成如下的日歷 , 根據(jù)傳入的一個(gè)時(shí)間返回一個(gè)結(jié)構(gòu) 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是當(dāng)月的各個(gè)時(shí)間* 此函數(shù)返回該日歷第一行星期日所在的日期* param sdate* return*/public static String getNow

36、Month(String sdate) / 取該時(shí)間所在月的一號(hào)sdate = sdate.substring(0, 8) + "01"/ 得到這個(gè)月的1號(hào)是星期幾Date date = VeDate.strToDate(sdate);Calendar c = Calendar.getInstance();c.setTime(date);int u = c.get(Calendar.DAY_OF_WEEK);String newday = VeDate.getNextDay(sdate, (1 - u) + "");return newday;/* 取得

37、數(shù)據(jù)庫主鍵 生成格式為yyyymmddhhmmss+k位隨機(jī)數(shù)* param k* 表示是取幾位隨機(jī)數(shù),可以自己定*/public static String getNo(int k) return getUserDate("yyyyMMddhhmmss") + getRandom(k);/* 返回一個(gè)隨機(jī)數(shù)* param i* return*/public static String getRandom(int i) Random jjj = new Random();/ int suiJiShu = jjj.nextInt(9);if (i = 0) return &q

38、uot;"String jj = ""for (int k = 0; k < i; k+) jj = jj + jjj.nextInt(9);return jj;/* param args*/public static boolean RightDate(String date) SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");if (date = null) return false;if (date.length() > 10) sdf = n

39、ew SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); else sdf = new SimpleDateFormat("yyyy-MM-dd");try sdf.parse(date); catch (ParseException pe) return false;return true;/* /nd=1表示返回的值中包含年度 /yf=1表示返回的值中包含月份 /rq=1表示返回的值中包含日期 /format表示返回的格式 1* 以年月日中文返回 2 以橫線-返回 / 3 以斜線/返回 4 以縮寫不帶其它符號(hào)形式返回 /

40、 5 以點(diǎn)號(hào).返回*/public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) Date currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");String dateString = formatter.format(currentTime);String s_nd = dateString.substrin

41、g(0, 4); / 年份String s_yf = dateString.substring(5, 7); / 月份String s_rq = dateString.substring(8, 10); / 日期String sreturn = ""roc.util.MyChar mc = new roc.util.MyChar();if (sdate = null | sdate.equals("") | !mc.Isdate(sdate) / 處理空值情況 if (nd.equals("1") sreturn = s_nd; /

42、處理間隔符 if (format.equals("1") sreturn = sreturn + "年" else if (format.equals("2") sreturn = sreturn + "-" else if (format.equals("3") sreturn = sreturn + "/" else if (format.equals("5") sreturn = sreturn + "." / 處理月份 if (

43、yf.equals("1") sreturn = sreturn + s_yf; if (format.equals("1") sreturn = sreturn + "月" else if (format.equals("2") sreturn = sreturn + "-" else if (format.equals("3") sreturn = sreturn + "/" else if (format.equals("5")

44、sreturn = sreturn + "." / 處理日期 if (rq.equals("1") sreturn = sreturn + s_rq; if (format.equals("1") sreturn = sreturn + "日" else / 不是空值,也是一個(gè)合法的日期值,則先將其轉(zhuǎn)換為標(biāo)準(zhǔn)的時(shí)間格式 sdate = roc.util.RocDate.getOKDate(sdate); s_nd = sdate.substring(0, 4); / 年份 s_yf = sdate.substrin

45、g(5, 7); / 月份 s_rq = sdate.substring(8, 10); / 日期 if (nd.equals("1") sreturn = s_nd; / 處理間隔符 if (format.equals("1") sreturn = sreturn + "年" else if (format.equals("2") sreturn = sreturn + "-" else if (format.equals("3") sreturn = sreturn +

46、"/" else if (format.equals("5") sreturn = sreturn + "." / 處理月份 if (yf.equals("1") sreturn = sreturn + s_yf; if (format.equals("1") sreturn = sreturn + "月" else if (format.equals("2") sreturn = sreturn + "-" else if (format.equals("3") sreturn = sreturn + "/" else if (format.equals(&quo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論