Skip to content

Instantly share code, notes, and snippets.

@maxjing
Created January 23, 2019 19:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maxjing/c855f75538dcef119b6bc8dae8fb79e7 to your computer and use it in GitHub Desktop.
Save maxjing/c855f75538dcef119b6bc8dae8fb79e7 to your computer and use it in GitHub Desktop.
timestamp
Date.prototype.customFormat = function(formatString) {
var YYYY,
YY,
MMMM,
MMM,
MM,
M,
DDDD,
DDD,
DD,
D,
hhhh,
hhh,
hh,
h,
mm,
m,
ss,
s,
ampm,
AMPM,
dMod,
th;
YY = ((YYYY = this.getFullYear()) + "").slice(-2);
MM = (M = this.getMonth() + 1) < 10 ? "0" + M : M;
MMM = (MMMM = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
][M - 1]).substring(0, 3);
DD = (D = this.getDate()) < 10 ? "0" + D : D;
DDD = (DDDD = [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
][this.getDay()]).substring(0, 3);
th =
D >= 10 && D <= 20
? "th"
: (dMod = D % 10) == 1
? "st"
: dMod == 2
? "nd"
: dMod == 3
? "rd"
: "th";
formatString = formatString
.replace("#YYYY#", YYYY)
.replace("#YY#", YY)
.replace("#MMMM#", MMMM)
.replace("#MMM#", MMM)
.replace("#MM#", MM)
.replace("#M#", M)
.replace("#DDDD#", DDDD)
.replace("#DDD#", DDD)
.replace("#DD#", DD)
.replace("#D#", D)
.replace("#th#", th);
h = hhh = this.getHours();
if (h == 0) h = 24;
if (h > 12) h -= 12;
hh = h < 10 ? "0" + h : h;
hhhh = hhh < 10 ? "0" + hhh : hhh;
AMPM = (ampm = hhh < 12 ? "am" : "pm").toUpperCase();
mm = (m = this.getMinutes()) < 10 ? "0" + m : m;
ss = (s = this.getSeconds()) < 10 ? "0" + s : s;
return formatString
.replace("#hhhh#", hhhh)
.replace("#hhh#", hhh)
.replace("#hh#", hh)
.replace("#h#", h)
.replace("#mm#", mm)
.replace("#m#", m)
.replace("#ss#", ss)
.replace("#s#", s)
.replace("#ampm#", ampm)
.replace("#AMPM#", AMPM);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment