在Java中操作時間的時候,需要計算某段時間開始到結束的區間日期,常用的時間工具
Date date = new Date();//獲取當前時間
Calendar calendar = Calendar.getInstance(); //創建Calendar 的實例
calendar.add(Calendar.YEAR, -1);//當前時間減去一年,即一年前的時間
calendar.add(Calendar.MONTH, -1);//當前時間減去一個月,即一個月前的時間
calendar.add(Calendar.DAY_OF_MONTH,-1); //當前時間減去一天,即一天前的時間
calendar.getTimeInMillis();//返回當前時間的毫秒數
例子1:
1 /** 2 * 獲取某天的時間,支持自定義時間格式 3 * @param simpleDateFormat 時間格式,yyyy-MM-dd HH:mm:ss 4 * @param index 為正表示當前時間加天數,為負表示當前時間減天數 5 * @return String 6 */ 7 public static String getTimeDay(String simpleDateFormat,int index){ 8 TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai"); 9 TimeZone.setDefault(tz); 10 Calendar calendar = Calendar.getInstance(); 11 SimpleDateFormat fmt = new SimpleDateFormat(simpleDateFormat); 12 calendar.add(Calendar.DAY_OF_MONTH,index); 13 String date = fmt.format(calendar.getTime()); 14 return date; 15 } 16 /** 17 * 獲取某天的時間 18 * @param index 為正表示當前時間加天數,為負表示當前時間減天數 19 * @return String 20 */ 21 public static String getTimeDay( int index){ 22 TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai"); 23 TimeZone.setDefault(tz); 24 Calendar calendar = Calendar.getInstance(); 25 SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 26 calendar.add(Calendar.DAY_OF_MONTH,index); 27 String date = fmt.format(calendar.getTime()); 28 return date; 29 }
例子2:
1 package air; 2 3 import java.text.SimpleDateFormat; 4 import java.util.Calendar; 5 import java.util.Date; 6 7 public class test { 8 9 public static void main(String[] args) { 10 // TODO Auto-generated method stub 11 Date date = new Date();//獲取當前時間 12 Calendar calendar = Calendar.getInstance(); //創建Calendar 的實例 13 // calendar.add(Calendar.YEAR, -1);//當前時間減去一年,即一年前的時間 14 // calendar.add(Calendar.MONTH, -1);//當前時間減去一個月,即一個月前的時間 15 calendar.add(Calendar.DAY_OF_MONTH,-1); //當前時間減去一天,即一天前的時間 16 calendar.getTimeInMillis();//返回當前時間的毫秒數 17 SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 18 String date1 = fmt.format(calendar.getTime()); 19 //替換字符 20 String year = date1.replace(" ","T"); 21 System.out.println(year); 22 } 23 24 }