在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 }