Javascript 日期格式化

来源:互联网 发布:淘宝商城男鞋休闲 编辑:程序博客网 时间:2024/06/06 04:02
[javascript] view plaincopyprint?
  1. /** 
  2.      * 时间格式化 返回格式化的时间 
  3.      * @param date {object}  可选参数,要格式化的data对象,没有则为当前时间 
  4.      * @param fomat {string} 格式化字符串,例如:'YYYY年MM月DD日 hh时mm分ss秒 星期' 'YYYY/MM/DD week' (中文为星期,英文为week) 
  5.      * @return {string} 返回格式化的字符串 
  6.      *  
  7.      * 例子: 
  8.      * formatDate(new Date("january 01,2012")); 
  9.      * formatDate(new Date()); 
  10.      * formatDate('YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY-MM-DD week'); 
  11.      * formatDate(new Date("january 01,2012"),'YYYY年MM月DD日 hh时mm分ss秒 星期 YYYY/MM/DD week'); 
  12.      *  
  13.      * 格式:    
  14.      *    YYYY:4位年,如1993 
  15.    *  YY:2位年,如93 
  16.    *  MM:月份 
  17.    *  DD:日期 
  18.    *  hh:小时 
  19.    *  mm:分钟 
  20.    *  ss:秒钟 
  21.    *  星期:星期,返回如 星期二 
  22.    *  周:返回如 周二 
  23.    *  week:英文星期全称,返回如 Saturday 
  24.    *  www:三位英文星期,返回如 Sat 
  25.      */  
  26.     function formatDate(date, format) {  
  27.         if (arguments.length < 2 && !date.getTime) {  
  28.             format = date;  
  29.             date = new Date();  
  30.         }  
  31.         typeof format != 'string' && (format = 'YYYY年MM月DD日 hh时mm分ss秒');  
  32.         var week = ['Sunday''Monday''Tuesday''Wednesday''Thursday''Friday''Saturday''日''一''二''三''四''五''六'];  
  33.         return format.replace(/YYYY|YY|MM|DD|hh|mm|ss|星期|周|www|week/g, function(a) {  
  34.             switch (a) {  
  35.             case "YYYY"return date.getFullYear();  
  36.             case "YY"return (date.getFullYear()+"").slice(2);  
  37.             case "MM"return date.getMonth() + 1;  
  38.             case "DD"return date.getDate();  
  39.             case "hh"return date.getHours();  
  40.             case "mm"return date.getMinutes();  
  41.             case "ss"return date.getSeconds();  
  42.             case "星期"return "星期" + week[date.getDay() + 7];  
  43.             case "周"return "周" +  week[date.getDay() + 7];  
  44.             case "week"return week[date.getDay()];  
  45.             case "www"return week[date.getDay()].slice(0,3);  
  46.             }  
  47.         });  
  48.     }  
用法:第一个参数传一个Date对象(没有则使用当前时间),第二个参数是格式化字符串,格式如下:

    YYYY:4位年,如1993

    YY:2位年,如93

    MM:月份

    DD:日期

    hh:小时

    mm:分钟

    ss:秒钟

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

    周:返回如 周二

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

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

  示例:

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