java和js获取当前天之后或之前7天(任意)日期

一.获取过去第几天的日期(- 操作) 或者 未来 第几天的日期( + 操作)

16     /**
17      * 获取过去第几天的日期(- 操作) 或者 未来 第几天的日期( + 操作)
18      *
19      * @param past
20      * @return
21      */
22     public static String getPastDate(int past) {
23         Calendar calendar = Calendar.getInstance();
24         calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
25         Date today = calendar.getTime();
26         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
27         String result = format.format(today);
28         Log.e(null, result);
29         return result;
30     }
31 

二.获得N小时前(- 操作)的时间或者N小时后(+ 操作)的时间

 1     private static void getHourPastOrFutureTime() {
 2         try {
 3             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");     
 4             Calendar calendar=Calendar.getInstance();
 5             /* HOUR_OF_DAY 指示一天中的小时 */ 
 6             calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) + 1);
 7             System.out.println("一个小时前的时间:" + sdf.format(calendar.getTime()));
 8             System.out.println("当前时间:" + sdf.format(new Date()));
 9             
10             /*当前时间 String 类型--->Date类型*/
11             Date currentDateTime = sdf.parse(sdf.format(new Date()));
12         } catch (ParseException e1) {
13             e1.printStackTrace();
14         }
15     }

三.Js种获取相应对日期的处理方式:

方法一:

 1 function getNowFormatDate() {
 2     var date = new Date();
 3     var seperator1 = "-";
 4     var seperator2 = ":";
 5     var month = date.getMonth() + 1;
 6     var strDate = date.getDate();
 7     if (month >= 1 && month <= 9) {
 8         month = "0" + month;
 9     }
10     if (strDate >= 0 && strDate <= 9) {
11         strDate = "0" + strDate;
12     }
13     var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
14             + " " + date.getHours() + seperator2 + date.getMinutes()
15             + seperator2 + date.getSeconds();
16     return currentdate;
17 }

方法二:

 1 // 对Date的扩展,将 Date 转化为指定格式的String   
 2 // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,   
 3 // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
 4 // 例子:   
 5 // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
 6 // (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18   
 7 Date.prototype.Format = function(fmt)   
 8 { //author: meizz   
 9   var o = {   
10     "M+" : this.getMonth()+1,                 //月份   
11     "d+" : this.getDate(),                    //
12     "h+" : this.getHours(),                   //小时   
13     "m+" : this.getMinutes(),                 //
14     "s+" : this.getSeconds(),                 //
15     "q+" : Math.floor((this.getMonth()+3)/3), //季度   
16     "S"  : this.getMilliseconds()             //毫秒   
17   };   
18   if(/(y+)/.test(fmt))   
19     fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));   
20   for(var k in o)   
21     if(new RegExp("("+ k +")").test(fmt))   
22   fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));   
23   return fmt;   
24 }  

调用方法:

var time1 = new Date().format("yyyy-MM-dd HH:mm:ss");   
var time2 = new Date().format("yyyy-MM-dd");  

js获取当前日期前后N天的方法:

1 function GetDateStr(AddDayCount) { 
2     var dd = new Date(); 
3     dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期 
4     var y = dd.getFullYear(); 
5     var m = dd.getMonth()+1;//获取当前月份的日期 
6     var d = dd.getDate(); 
7     return y+"-"+m+"-"+d; 
8 } 

我总结的其他关于日期和时间的博文:

http://www.cnblogs.com/DreamDrive/p/5735758.html

http://www.cnblogs.com/DreamDrive/p/4093622.html

 

posted @ 2017-01-06 11:25  SummerChill  阅读(24265)  评论(1编辑  收藏  举报