zoukankan      html  css  js  c++  java
  • JavaScript Date Format

    通过给prototype增加方法来让JavaScript中Date类型原生的支持和.NET中一样的format功能:

    Date.prototype.format = function (mask) {
       var d = this;
       var zeroize = function (value, length) {
        if (!length) length = 2;
        value = String(value);
        for (var i = 0, zeros = ''; i < (length - value.length); i++) {
         zeros += '0';
        }
        return zeros + value;
       };
    
       return mask.replace(/"[^"]*"|'[^']*'|\b(?:d{1,4}|m{1,4}|yy(?:yy)?|([hHMstT])\1?|[lLZ])\b/g, function ($0) {
        switch ($0) {
         case 'd': return d.getDate();
         case 'dd': return zeroize(d.getDate());
         case 'ddd': return ['Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sat'][d.getDay()];
         case 'dddd': return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][d.getDay()];
         case 'M': return d.getMonth() + 1;
         case 'MM': return zeroize(d.getMonth() + 1);
         case 'MMM': return ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][d.getMonth()];
         case 'MMMM': return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'][d.getMonth()];
         case 'yy': return String(d.getFullYear()).substr(2);
         case 'yyyy': return d.getFullYear();
         case 'h': return d.getHours() % 12 || 12;
         case 'hh': return zeroize(d.getHours() % 12 || 12);
         case 'H': return d.getHours();
         case 'HH': return zeroize(d.getHours());
         case 'm': return d.getMinutes();
         case 'mm': return zeroize(d.getMinutes());
         case 's': return d.getSeconds();
         case 'ss': return zeroize(d.getSeconds());
         case 'l': return zeroize(d.getMilliseconds(), 3);
         case 'L': var m = d.getMilliseconds();
          if (m > 99) m = Math.round(m / 10);
          return zeroize(m);
         case 'tt': return d.getHours() < 12 ? 'am' : 'pm';
         case 'TT': return d.getHours() < 12 ? 'AM' : 'PM';
         case 'Z': return d.toUTCString().match(/[A-Z]+$/);
          // Return quoted strings with the surrounding quotes removed     
         default: return $0.substr(1, $0.length - 2);
        }
       });
      };

    使用示例:

    var d = new Date();
    alert(d.format("MM/dd/yyyy"));

  • 相关阅读:
    有点忙啊
    什么是协程
    HDU 1110 Equipment Box (判断一个大矩形里面能不能放小矩形)
    HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)
    HDU 1210 Eddy's 洗牌问题(找规律,数学)
    HDU1214 圆桌会议(找规律,数学)
    HDU1215 七夕节(模拟 数学)
    HDU 1216 Assistance Required(暴力打表)
    HDU 1220 Cube(数学,找规律)
    HDU 1221 Rectangle and Circle(判断圆和矩形是不是相交)
  • 原文地址:https://www.cnblogs.com/rynnwang/p/2517107.html
Copyright © 2011-2022 走看看