[JavaScript] JavaScript Date formatting prototype →→→→→进入此内容的聊天室

来自 , 2020-11-27, 写在 JavaScript, 查看 163 次.
URL http://www.code666.cn/view/68229517
  1. Date.prototype.format = function (sFormat, twelve) {
  2.     // Returns: A string version of the date.
  3.     // Usage: date_instance.format("d mmm yy hh:nn:ss ap") or
  4.     // date_instance.format("dddd dd mmmm hh:nn", true)
  5.     // Defaults to YYYY/MM/DD.
  6.     // twelve == true for a 12hr clock, or just AP or ap within
  7.     // sFormat (for AM/PM or am/pm).
  8.     // Use z or zzz for milliseconds and xx for suffixes (st, nd, etc.).
  9.     var MonthNames = ["January", "February", "March", "April", "May", "June",
  10.         "July", "August", "September", "October", "November", "December"];
  11.     var DayNames = [ "Sunday", "Monday", "Tueday", "Wednesday", "Thursday",
  12.         "Friday", "Saturday" ];
  13.     var dDate = this || new Date(),
  14.         D = dDate.getDate(), DDDD = DayNames[dDate.getDay()],
  15.         DDD = DDDD.substr(0,3),
  16.         M = dDate.getMonth()+1, MMMM = MonthNames[dDate.getMonth()],
  17.         MMM = MMMM.substr(0,3),
  18.         YYYY = dDate.getFullYear(), YY = ('' + YYYY).substr(2, 2),
  19.         H = dDate.getHours(), N = dDate.getMinutes(), S = dDate.getSeconds(),
  20.         Z = dDate.getMilliseconds(),
  21.         ap = (H > 11) ? "pm" : "am",
  22.         // pad with leading zeros, if required
  23.         DD = ( D < 10 ? "0" : "" ) + D,
  24.         MM = ( M < 10 ? "0" : "" ) + M,
  25.         NN = ( N < 10 ? "0" : "" ) + N,
  26.         SS = ( S < 10 ? "0" : "" ) + S,
  27.         ZZZ = ( Z < 10 ? "00" : (Z < 100 ? "0" : "") ) + Z, XX;
  28.     var AP = (sFormat && (sFormat.toUpperCase().indexOf('AP')+1)) ?
  29.         ((sFormat.indexOf('ap')+1) ? ap : ap.toUpperCase()) : '';
  30.     if (twelve || AP) {
  31.         H = (H < 12) ? (H || 12) : ((H - 12) || 12);
  32.     }
  33.     var HH = ( H < 10 ? "0" : "" ) + H;
  34.     XX = (D == 1 || D == 21 || D == 31) ? "st" :
  35.         ((D == 2 || D == 22) ? "nd" : ((D == 3 || D == 23) ? "rd" : "th"));
  36.     sFormat = ( sFormat ) ? sFormat.toUpperCase() : 'YYYY/MM/DD';
  37.     var sParsed = sFormat.replace(/D{1,4}|M{1,4}|Y{2,4}|H{1,2}|N{1,2}|S{1,2}|Z{1,3}|XX|AP/g,
  38.         function (m) {
  39.             try {
  40.                 return eval(m);
  41.             } catch (e) {
  42.                 return '';
  43.             }
  44.         });
  45.     return sParsed;
  46. };
  47. //javascript/5348

回复 "JavaScript Date formatting prototype"

这儿你可以回复上面这条便签

captcha