Java處置日期時間的辦法匯總。本站提示廣大學習愛好者:(Java處置日期時間的辦法匯總)文章只能為提供參考,不一定能成為您想要的結果。以下是Java處置日期時間的辦法匯總正文
一、java.util.Calendar引見
Calendar 類是一個籠統類,它為特定霎時與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉換提供了一些辦法,並為操作日歷字段(例如取得下星期的日期)提供了一些辦法。霎時可用毫秒值來表示,它是距歷元(即格林威治本准時間 1970 年 1 月 1 日的 00:00:00.000,格裡高利歷)的偏移量。
二、復雜示例
// 經過格式化輸入日期 java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance();// 取以後日期。 System.out.println("Today is:" + format.format(cal.getTime())); cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH, -1);// 取以後日期的前一天. System.out.println("yesterday is:" + format.format(cal.getTime())); cal = Calendar.getInstance(); cal.add(Calendar.DAY_OF_MONTH, +1);// 取以後日期的後一天. System.out.println("nextday is:" + format.format(cal.getTime()));
或許
java.util.Date today=new java.util.Date(); java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd"); java.text.SimpleDateFormat dateTimeFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("Today is "+dateFormat.format(today)); System.out.println("Now is "+dateTimeFormat.format(today));
二、結構特定時間
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); Calendar calendar = new GregorianCalendar(2007, 11, 25,0,0,0); Date date = calendar.getTime(); System.out.println("2007 Christmas is:"+format.format(date));
GregorianCalendar結構辦法參數順次為:年,月-1,日,時,分,秒.
或許
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date date= format.parse("2007-12-25"); System.out.println("2007 Christmas is:"+format.format(date));
三、取日期的每局部
int year =calendar.get(Calendar.YEAR); int month=calendar.get(Calendar.MONTH)+1; int day =calendar.get(Calendar.DAY_OF_MONTH); int hour =calendar.get(Calendar.HOUR_OF_DAY); int minute =calendar.get(Calendar.MINUTE); int second =calendar.get(Calendar.SECOND);
取月份要加1
四、獲取以後月份的最大天數
Calendar cal = Calendar.getInstance(); int day=cal.getActualMaximum(Calendar.DAY_OF_MONTH); System.out.println(day);
五、取當月的最後一天
Calendar cal = Calendar.getInstance(); int maxDay=cals.getActualMaximum(Calendar.DAY_OF_MONTH); java.text.Format formatter3=new java.text.SimpleDateFormat("yyyy-MM-"+maxDay); System.out.println(formatter3.format(cal.getTime()));
六、取當月的第一天
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-01"); java.util.Date firstDay=new java.util.Date(); System.out.println("the month first day is "+formats.format(firstDay));
七、求兩個日期之間相隔的天數
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date beginDate= format.parse("2007-12-24"); java.util.Date endDate= format.parse("2007-12-25"); long day=(date.getTime()-mydate.getTime())/(24*60*60*1000); System.out.println("相隔的天數="+day);
八、一年前的日期
java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date todayDate=new java.util.Date(); long beforeTime=(todayDate.getTime()/1000)-60*60*24*365; todayDate.setTime(beforeTime*1000); String beforeDate=formatter.format(todayDate); System.out.println(beforeDate);
九、一年後的日期
java.text.Format formatter=new java.text.SimpleDateFormat("yyyy-MM-dd"); java.util.Date todayDate=new java.util.Date(); long afterTime=(todayDate.getTime()/1000)+60*60*24*365; todayDate.setTime(afterTime*1000); String afterDate=formatter.format(todayDate); System.out.println(afterDate);
十、10小時後的時間
java.util.Calendar Cal=java.util.Calendar.getInstance(); Cal.setTime(dateOper); Cal.add(java.util.Calendar.HOUR_OF_DAY,10); System.out.println("date:"+forma.format(Cal.getTime()));
十一、10小時前的時間
java.util.Calendar Cal=java.util.Calendar.getInstance(); Cal.setTime(dateOper); Cal.add(java.util.Calendar.HOUR_OF_DAY,-10); System.out.println("date:"+forma.format(Cal.getTime()));
十二、以後日期的星期一和星期天
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); GregorianCalendar cal = new GregorianCalendar(); int dayInWeek = cal.get(Calendar.DAY_OF_WEEK); int offset = 0; if (dayInWeek == 1) { // 星期天 offset = 6; } else { // 星期一至星期六 offset = dayInWeek - 2; } cal.add(GregorianCalendar.DAY_OF_MONTH, -offset); String sday = dateFormat.format(cal.getTime()); cal.add(GregorianCalendar.DAY_OF_MONTH, 6); String eday = dateFormat.format(cal.getTime()); System.out.println("這個星期的星期一:" + sday); System.out.println("這個星期的星期天:" + eday);
十二、獲取以後日期所在的星期屬於往年的第幾周
GregorianCalendar cal = new GregorianCalendar(); int weekOfYear = cal.get(Calendar.WEEK_OF_YEAR); System.out.println("這個星期屬於第幾周:" + weekOfYear);
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或許任務能帶來一定的協助,假如有疑問大家可以留言交流。