Javascript 日期格式化

/**
     * 时间格式化 返回格式化的时间
     * @param date {object}  可选参数,要格式化的data对象,没有则为当前时间
     * @param fomat {string} 格式化字符串,例如:'YYYY年MM月DD日 hh时mm分ss秒 星期' 'YYYY/MM/DD week' (中文为星期,英文为week)
     * @return {string} 返回格式化的字符串
     * 
     * 例子:
     * formatDate(new Date("january 01,2012"));
     * formatDate(new Date());
     * formatDate('YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY-MM-DD week');
     * formatDate(new Date("january 01,2012"),'YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY/MM/DD week');
     * 
     * 格式:   
     *    YYYY:4位年,如1993
   *  YY:2位年,如93
   *  MM:月份
   *  DD:日期
   *  hh:小时
   *  mm:分钟
   *  ss:秒钟
   *  星期:星期,返回如 星期二
   *  周:返回如 周二
   *  week:英文星期全称,返回如 Saturday
   *  www:三位英文星期,返回如 Sat
     */
    function formatDate(date, format) {
        if (arguments.length < 2 && !date.getTime) {
            format = date;
            date = new Date();
        }
        typeof format != 'string' && (format = 'YYYY年MM月DD日 hh时mm分ss秒');
        var week = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', '日', '一', '二', '三', '四', '五', '六'];
        return format.replace(/YYYY|YY|MM|DD|hh|mm|ss|星期|周|www|week/g, function(a) {
            switch (a) {
            case "YYYY": return date.getFullYear();
            case "YY": return (date.getFullYear()+"").slice(2);
            case "MM": return date.getMonth() + 1;
            case "DD": return date.getDate();
            case "hh": return date.getHours();
            case "mm": return date.getMinutes();
            case "ss": return date.getSeconds();
            case "星期": return "星期" + week[date.getDay() + 7];
            case "周": return "周" +  week[date.getDay() + 7];
            case "week": return week[date.getDay()];
            case "www": return week[date.getDay()].slice(0,3);
            }
        });
    }
用法:第一个参数传一个Date对象(没有则使用当前时间),第二个参数是格式化字符串,格式如下:

    YYYY:4位年,如1993

    YY:2位年,如93

    MM:月份

    DD:日期

    hh:小时

    mm:分钟

    ss:秒钟

    星期:星期,返回如 星期二

    周:返回如 周二

    week:英文星期全称,返回如 Saturday

    www:三位英文星期,返回如 Sat

  示例:

* formatDate( new Date( "january 01,2012" ));
* formatDate( new Date());
* formatDate( 'YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY-MM-DD YY年 week' );
* formatDate( new Date( "january 01,2012" ), 'YYYY年MM月DD日 hh时mm分ss秒 星期/周 www YYYY/MM/DD week' );

原文地址:http://www.cnblogs.com/Hodor/archive/2012/09/05/2672113.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值