Calendar 再配合 DateFormat 就是一個比較理想的解決方式。
Calendar cal=Calendar.getInstance();
int yr=cal.get(Calendar.YEAR);
int mon=cal.get(Calendar.MONTH);
int dt=cal.get(Calendar.DAY_OF_MONTH);
cal.set(yr, mon,1,0,0,0);
startTime=cal.getTimeInMillis();
cal.add(Calendar.MONTH, 1);
endTime=cal.getTimeInMillis()-1000;
SimpleDateFormat format =
new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(format.format(startTime));
System.out.println(format.format(endTime));
先用 Calendar 取得現在的時間,找出年月日,再利用它易於處理各種時間換算的特點。
最終,轉成毫秒(或Date )再利用DateFormat( SimpleDateFormat) 轉換輸出您想要的時間格式。
上例的執行結果如下:
2013/05/01 00:00:00
2013/05/31 23:59:59
Calendar 的 set 可以很容易的指定時間,如上例中的 cal.set(yr,mon,1,0,0,0); 直接設為當月一日的零時零分零秒。
Calendar 還有 add 可以很快的加(減)一段指定的時間。
如上例中的 cal.add(Calendar.MONTH, 1);
而 SimpleDateFormat 可以輕易指定日期輸出格式,如
SimpleDateFormat format =
new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(format.format(startTime));
深入研究了解這幾個 Class 之後(Calendar,SimpleDateFormat,Date),就可以對時間的處理操作自如了。
沒有留言:
張貼留言