Java如何獲得系統(tǒng)時(shí)間
package com.hefeng.test; import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class TimeTest { //用來全局控制 上一周,本周,下一周的周數(shù)變化 private int weeks = 0; private int MaxDate;//一月最大天數(shù) private int MaxYear;//一年最大天數(shù) public static void main(String[] args) { TimeTest tt = new TimeTest(); System.out.println("獲取當(dāng)天日期:"+tt.getNowTime("yyyy-MM-dd")); System.out.println("獲取本周一日期:"+tt.getMondayOFWeek()); System.out.println("獲取本周日的日期~:"+tt.getCurrentWeekday()); System.out.println("獲取上周一日期:"+tt.getPreviousWeekday()); System.out.println("獲取上周日日期:"+tt.getPreviousWeekSunday()); System.out.println("獲取下周一日期:"+tt.getNextMonday()); System.out.println("獲取下周日日期:"+tt.getNextSunday()); System.out.println("獲得相應(yīng)周的周六的日期:"+tt.getNowTime("yyyy-MM-dd")); System.out.println("獲取本月第一天日期:"+tt.getFirstDayOfMonth()); System.out.println("獲取本月最后一天日期:"+tt.getDefaultDay()); System.out.println("獲取上月第一天日期:"+tt.getPreviousMonthFirst()); System.out.println("獲取上月最后一天的日期:"+tt.getPreviousMonthEnd()); System.out.println("獲取下月第一天日期:"+tt.getNextMonthFirst()); System.out.println("獲取下月最后一天日期:"+tt.getNextMonthEnd()); System.out.println("獲取本年的第一天日期:"+tt.getCurrentYearFirst()); System.out.println("獲取本年最后一天日期:"+tt.getCurrentYearEnd()); System.out.println("獲取去年的第一天日期:"+tt.getPreviousYearFirst()); System.out.println("獲取去年的最后一天日期:"+tt.getPreviousYearEnd()); System.out.println("獲取明年第一天日期:"+tt.getNextYearFirst()); System.out.println("獲取明年最后一天日期:"+tt.getNextYearEnd()); System.out.println("獲取本季度第一天到最后一天:"+tt.getThisSeasonTime(11)); System.out.println("獲取兩個(gè)日期之間間隔天數(shù)2008-12-1~2008-9.29:"+TimeTest.getTwoDay("2008-12-1","2008-9-29")); } public static String getTwoDay(String sj1, String sj2) { SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd"); long day = 0; try { java.util.Date date = myFormatter.parse(sj1); java.util.Date mydate = myFormatter.parse(sj2); day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000); } catch (Exception e) { return ""; } return day + ""; } public static String getWeek(String sdate) { // 再轉(zhuǎn)換為時(shí)間 Date date = TimeTest.strToDate(sdate); Calendar c = Calendar.getInstance(); c.setTime(date); // int hour=c.get(Calendar.DAY_OF_WEEK); // hour中存的就是星期幾了,其范圍 1~7 // 1=星期日 7=星期六,其他類推 return new SimpleDateFormat("EEEE").format(c.getTime()); } public static Date strToDate(String strDate) { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); ParsePosition pos = new ParsePosition(0); Date strtodate = formatter.parse(strDate, pos); return strtodate; } public static long 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 = myFormatter.parse(date1); mydate = myFormatter.parse(date2); } catch (Exception e) { } long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000); return day; } // 計(jì)算當(dāng)月最后一天,返回字符串 public String getDefaultDay(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.set(Calendar.DATE,1);//設(shè)為當(dāng)前月的1號(hào) lastDate.add(Calendar.MONTH,1);//加一個(gè)月,變?yōu)橄略碌?號(hào) lastDate.add(Calendar.DATE,-1);//減去一天,變?yōu)楫?dāng)月最后一天 str=sdf.format(lastDate.getTime()); return str; } // 上月第一天 public String getPreviousMonthFirst(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.set(Calendar.DATE,1);//設(shè)為當(dāng)前月的1號(hào) lastDate.add(Calendar.MONTH,-1);//減一個(gè)月,變?yōu)橄略碌?號(hào) //lastDate.add(Calendar.DATE,-1);//減去一天,變?yōu)楫?dāng)月最后一天 str=sdf.format(lastDate.getTime()); return str; } //獲取當(dāng)月第一天 public String getFirstDayOfMonth(){ String str = ""; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance(); lastDate.set(Calendar.DATE,1);//設(shè)為當(dāng)前月的1號(hào) str=sdf.format(lastDate.getTime()); return str; } // 獲得本周星期日的日期 public String getCurrentWeekday() { weeks = 0; int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus+6); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } |
//獲取當(dāng)天時(shí)間 public String getNowTime(String dateformat){ Date now = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat(dateformat);//可以方便地修改日期格式 String hehe = dateFormat.format(now); return hehe; } // 獲得當(dāng)前日期與本周日相差的天數(shù) private int getMondayPlus() { Calendar cd = Calendar.getInstance(); // 獲得今天是一周的第幾天,星期日是第一天,星期二是第二天...... int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK)-1; //因?yàn)榘粗袊Y拜一作為第一天所以這里減1 if (dayOfWeek == 1) { return 0; } else { return 1 - dayOfWeek; } } //獲得本周一的日期 public String getMondayOFWeek(){ weeks = 0; int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } //獲得相應(yīng)周的周六的日期 public String getSaturday() { int mondayPlus = this.getMondayPlus(); GregorianCalendar currentDate = new GregorianCalendar(); currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks + 6); Date monday = currentDate.getTime(); DateFormat df = DateFormat.getDateInstance(); String preMonday = df.format(monday); return preMonday; } |
posted on 2014-04-21 12:52 順其自然EVO 閱讀(207) 評(píng)論(0) 編輯 收藏 所屬分類: 測試學(xué)習(xí)專欄