资讯专栏INFORMATION COLUMN

js格式化日期date

wujl596 / 1859人阅读

摘要:方法一对的扩展,将转化为指定格式的月日小时分秒季度可以用个占位符,年可以用个占位符,毫秒只能用个占位符是位的数字例子月份日小时分秒季度毫秒调用方法二对的扩展,将转化为指定格式的月日小时小时分秒周季度可以用个

方法一、

// 对Date的扩展,将 Date 转化为指定格式的String

// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子:
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};

//调用:
var time1 = new Date().Format("yyyy-MM-dd");
console.log(time1);
var time2 = new Date().Format("yyyy-MM-dd hh:mm:ss");
console.log(time2);
var time3 = new Date().Format("hh:mm:ss");
console.log(time3);

方法二、

/* 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q)

可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new
Date()).pattern("yyyy-MM-dd hh:mm:ss.S")==> 2006-07-02 08:09:04.423      

(new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04

(new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04

(new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04

(new Date()).pattern("yyyy-M-d hs.S") ==> 2006-7-2 8:9:4.18
*/

Date.prototype.pattern=function(fmt) {         
    var o = {         
    "M+" : this.getMonth()+1, //月份         
    "d+" : this.getDate(), //日         
    "h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时         
    "H+" : this.getHours(), //小时         
    "m+" : this.getMinutes(), //分         
    "s+" : this.getSeconds(), //秒         
    "q+" : Math.floor((this.getMonth()+3)/3), //季度         
    "S" : this.getMilliseconds() //毫秒         
    };         
    var week = {         
    "0" : "/u65e5",         
    "1" : "/u4e00",         
    "2" : "/u4e8c",         
    "3" : "/u4e09",         
    "4" : "/u56db",         
    "5" : "/u4e94",         
    "6" : "/u516d"        
    };         
    if(/(y+)/.test(fmt)){         
        fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));         
    }         
    if(/(E+)/.test(fmt)){         
        fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);         
    }         
    for(var k in o){         
        if(new RegExp("("+ k +")").test(fmt)){         
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));         
        }         
    }         
    return fmt;         
}       
     
var date = new Date();      
window.alert(date.pattern("yyyy-MM-dd hh:mm:ss"));

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81252.html

相关文章

  • 需要知道的JS日期知识,都在这了

    摘要:实际上是格林威治标准时间的同义词默认情况下,中的几乎每个日期方法除了一个都是本地时间。如果你住在格林威治标准时间晚的的地区,你会得到一个日期是月日。需要知道对象日期方法。 为了保证的可读性,本文采用意译而非直译。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! JS中的 Date 很奇怪。当我们需要处理日期和时间的时候比较麻烦,经常借助像date-fns和 Mom...

    testbird 评论0 收藏0
  • js获取日期日期相关js方法 积累总结

    摘要:获取日期常用如下中国标准时间获取完整的年份位获取当前月份代表月获取当前日获取当前星期代表星期天更多请点击标准库或相关参考的第一篇获取当前日期时间及其它操作。 js获取日期 常用如下: var date = new Date();//中国标准时间 var year = date.getFullYear();//获取完整的年份(4位) var month = dat...

    isLishude 评论0 收藏0
  • JS基础篇--日期Date详解与实例扩展

    摘要:实际上,如果直接将表示日期的字符串传递给构造函数,也会在后台调用方法,例如下面的代码跟前面的是等价的。构造函数构造函数会模仿但有一点不同的是,日期和时间都是基于本地时区而非来创建。兼容性问题啊其原因就是非标准日期格式。 一:Date类型介绍 要创建一个日期对象,使用new操作符和Date构造函数即可: var now = new Date(); Date.parse()方法 其中Da...

    Apollo 评论0 收藏0
  • 关于时间的那些事

    摘要:获取定制时间戳的方法返回数值的单位是毫秒。返回指定日期减去时间间隔后的具体日期返回返回指定日期为全年的第几天日期二将时间戳转为普通日期时间格式当前时间戳将时间戳转为日期时间格式 PHP、JavaScript、MySQL操作时间 关于时间的那些事 PHP篇 PHP中时间操作单位是秒 一、将时间戳转为普通日期格式 //当前时间戳 time(); //当前时间格式 date(Y-m-...

    kgbook 评论0 收藏0
  • 关于时间的那些事

    摘要:获取定制时间戳的方法返回数值的单位是毫秒。返回指定日期减去时间间隔后的具体日期返回返回指定日期为全年的第几天日期二将时间戳转为普通日期时间格式当前时间戳将时间戳转为日期时间格式 PHP、JavaScript、MySQL操作时间 关于时间的那些事 PHP篇 PHP中时间操作单位是秒 一、将时间戳转为普通日期格式 //当前时间戳 time(); //当前时间格式 date(Y-m-...

    qqlcbb 评论0 收藏0
  • 关于时间的那些事

    摘要:获取定制时间戳的方法返回数值的单位是毫秒。返回指定日期减去时间间隔后的具体日期返回返回指定日期为全年的第几天日期二将时间戳转为普通日期时间格式当前时间戳将时间戳转为日期时间格式 PHP、JavaScript、MySQL操作时间 关于时间的那些事 PHP篇 PHP中时间操作单位是秒 一、将时间戳转为普通日期格式 //当前时间戳 time(); //当前时间格式 date(Y-m-...

    mzlogin 评论0 收藏0

发表评论

0条评论

wujl596

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<