zoukankan      html  css  js  c++  java
  • js 获取前天、昨天、今天、明天、后天的时间 (转)

    js 获取前天、昨天、今天、明天、后天的时间
    2011-05-19 21:03

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>js获取日期:前天、昨天、今天、明天、后天 - Liehuo.Net</title>
    </head>

    <body>
    <script language="JavaScript" type="text/javascript">
    function GetDateStr(AddDayCount) {
        var dd = new Date();
        dd.setDate(dd.getDate()+AddDayCount);//获取AddDayCount天后的日期
        var y = dd.getFullYear();
        var m = dd.getMonth()+1;//获取当前月份的日期
        var d = dd.getDate();
        return y+"-"+m+"-"+d;
    }
    document.write("前天:"+GetDateStr(-2));
    document.write("<br />昨天:"+GetDateStr(-1));
    document.write("<br />今天:"+GetDateStr(0));
    document.write("<br />明天:"+GetDateStr(1));
    document.write("<br />后天:"+GetDateStr(2));
    document.write("<br />大后天:"+GetDateStr(3));
    </script>

    </body>
    </html>

    其中有一种方法是:Date.parse(dateVal),此函数功能强大,但是有个致命的缺点,那就是不支持我们常用的“年-月-日”格式,短日期可以使用“/”或“-”作为日期分隔符,但是必须用月/日/年的格式来表示,例如"7/20/96"。

    另一种方法是使用 split,比如:
    var dtStr = "2006-11-25";
    var dtArr = dtStr.split("-");
    var dt = new Date(dtArr[0], dtArr[1], dtArr[2]);

    但这种方法较为死板,要求固定的日期格式,只有在没有办法的情况下才用。

    如果我们可以将年月日拆分开,就尽量将其拆开,比如 ASP 分别输出年月日。然后用 new Date 来处理,返回的便是日期类型。

    日期格式化

    1. <script language="javascript" type="text/javascript"><!--  
    2. /**   
    3.  * 对Date的扩展,将 Date 转化为指定格式的String   
    4.  * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符   
    5.  * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)   
    6.  * eg:   
    7.  * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423   
    8.  * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04   
    9.  * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04   
    10.  * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04   
    11.  * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18   
    12.  */    
    13. Date.prototype.pattern=function(fmt) {     
    14.     var o = {     
    15.     "M+" : this.getMonth()+1, //月份     
    16.     "d+" : this.getDate(), //日     
    17.     "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时     
    18.     "H+" : this.getHours(), //小时     
    19.     "m+" : this.getMinutes(), //分     
    20.     "s+" : this.getSeconds(), //秒     
    21.     "q+" : Math.floor((this.getMonth()+3)/3), //季度     
    22.     "S" : this.getMilliseconds() //毫秒     
    23.     };     
    24.     var week = {     
    25.     "0" : "\u65e5",     
    26.     "1" : "\u4e00",     
    27.     "2" : "\u4e8c",     
    28.     "3" : "\u4e09",     
    29.     "4" : "\u56db",     
    30.     "5" : "\u4e94",     
    31.     "6" : "\u516d"    
    32.     };     
    33.     if(/(y+)/.test(fmt)){     
    34.         fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));     
    35.     }     
    36.     if(/(E+)/.test(fmt)){     
    37.         fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "\u661f\u671f" : "\u5468") : "")+week[this.getDay()+""]);     
    38.     }     
    39.     for(var k in o){     
    40.         if(new RegExp("("+ k +")").test(fmt)){     
    41.             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));     
    42.         }     
    43.     }     
    44.     return fmt;     
    45. }   
    46.   
    47. var date = new Date();  
    48. window.alert(date.pattern("yyyy-MM-dd hh:mm:ss"));  
    49. // --></script> 
  • 相关阅读:
    织梦开发——相关阅读likeart应用
    织梦标签教程
    织梦专题调用代码
    HIT 2543 Stone IV
    POJ 3680 Intervals
    HIT 2739 The Chinese Postman Problem
    POJ 1273 Drainage Ditches
    POJ 2455 Secret Milking Machine
    SPOJ 371 Boxes
    HIT 2715 Matrix3
  • 原文地址:https://www.cnblogs.com/gengaixue/p/2098299.html
Copyright © 2011-2022 走看看