1
|
{"version":3,"sources":["../../../src/php/datetime/strftime.js"],"names":["module","exports","strftime","fmt","timestamp","setlocale","require","$global","window","global","$locutus","_xPad","x","pad","r","parseInt","toString","locale","php","localeCategories","LC_TIME","lcTime","locales","_formats","a","d","getDay","A","b","getMonth","B","C","getFullYear","e","g","G","y","V","W","H","I","getHours","j","ms","Date","getTimezoneOffset","doy","k","l","m","M","p","P","s","parse","S","u","dow","U","rdow","woy","dow11","idow","w","Y","z","o","Math","abs","Z","replace","_date","_aggregates","c","D","F","h","n","R","t","T","X","match","m0","m1","f","str"],"mappings":"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","file":"strftime.js","sourcesContent":["module.exports = function strftime (fmt, timestamp) {\n // discuss at: http://locutus.io/php/strftime/\n // original by: Blues (http://tech.bluesmoon.info/)\n // reimplemented by: Brett Zamir (http://brett-zamir.me)\n // input by: Alex\n // bugfixed by: Brett Zamir (http://brett-zamir.me)\n // improved by: Brett Zamir (http://brett-zamir.me)\n // note 1: Uses global: locutus to store locale info\n // example 1: strftime(\"%A\", 1062462400); // Return value will depend on date and locale\n // returns 1: 'Tuesday'\n\n var setlocale = require('../strings/setlocale')\n\n var $global = (typeof window !== 'undefined' ? window : global)\n $global.$locutus = $global.$locutus || {}\n var $locutus = $global.$locutus\n\n // ensure setup of localization variables takes place\n setlocale('LC_ALL', 0)\n\n var _xPad = function (x, pad, r) {\n if (typeof r === 'undefined') {\n r = 10\n }\n for (; parseInt(x, 10) < r && r > 1; r /= 10) {\n x = pad.toString() + x\n }\n return x.toString()\n }\n\n var locale = $locutus.php.localeCategories.LC_TIME\n var lcTime = $locutus.php.locales[locale].LC_TIME\n\n var _formats = {\n a: function (d) {\n return lcTime.a[d.getDay()]\n },\n A: function (d) {\n return lcTime.A[d.getDay()]\n },\n b: function (d) {\n return lcTime.b[d.getMonth()]\n },\n B: function (d) {\n return lcTime.B[d.getMonth()]\n },\n C: function (d) {\n return _xPad(parseInt(d.getFullYear() / 100, 10), 0)\n },\n d: ['getDate', '0'],\n e: ['getDate', ' '],\n g: function (d) {\n return _xPad(parseInt(this.G(d) / 100, 10), 0)\n },\n G: function (d) {\n var y = d.getFullYear()\n var V = parseInt(_formats.V(d), 10)\n var W = parseInt(_formats.W(d), 10)\n\n if (W > V) {\n y++\n } else if (W === 0 && V >= 52) {\n y--\n }\n\n return y\n },\n H: ['getHours', '0'],\n I: function (d) {\n var I = d.getHours() % 12\n return _xPad(I === 0 ? 12 : I, 0)\n },\n j: function (d) {\n var ms = d - new Date('' + d.getFullYear() + '/1/1 GMT')\n // Line differs from Yahoo implementation which would be\n // equivalent to replacing it here with:\n ms += d.getTimezoneOffset() * 60000\n var doy = parseInt(ms / 60000 / 60 / 24, 10) + 1\n return _xPad(doy, 0, 100)\n },\n k: ['getHours', '0'],\n // not in PHP, but implemented here (as in Yahoo)\n l: function (d) {\n var l = d.getHours() % 12\n return _xPad(l === 0 ? 12 : l, ' ')\n },\n m: function (d) {\n return _xPad(d.getMonth() + 1, 0)\n },\n M: ['getMinutes', '0'],\n p: function (d) {\n return lcTime.p[d.getHours() >= 12 ? 1 : 0]\n },\n P: function (d) {\n return lcTime.P[d.getHours() >= 12 ? 1 : 0]\n },\n s: function (d) {\n // Yahoo uses return parseInt(d.getTime()/1000, 10);\n return Date.parse(d) / 1000\n },\n S: ['getSeconds', '0'],\n u: function (d) {\n var dow = d.getDay()\n return ((dow === 0) ? 7 : dow)\n },\n U: function (d) {\n var doy = parseInt(_formats.j(d), 10)\n var rdow = 6 - d.getDay()\n var woy = parseInt((doy + rdow) / 7, 10)\n return _xPad(woy, 0)\n },\n V: function (d) {\n var woy = parseInt(_formats.W(d), 10)\n var dow11 = (new Date('' + d.getFullYear() + '/1/1')).getDay()\n // First week is 01 and not 00 as in the case of %U and %W,\n // so we add 1 to the final result except if day 1 of the year\n // is a Monday (then %W returns 01).\n // We also need to subtract 1 if the day 1 of the year is\n // Friday-Sunday, so the resulting equation becomes:\n var idow = woy + (dow11 > 4 || dow11 <= 1 ? 0 : 1)\n if (idow === 53 && (new Date('' + d.getFullYear() + '/12/31')).getDay() < 4) {\n idow = 1\n } else if (idow === 0) {\n idow = _formats.V(new Date('' + (d.getFullYear() - 1) + '/12/31'))\n }\n return _xPad(idow, 0)\n },\n w: 'getDay',\n W: function (d) {\n var doy = parseInt(_formats.j(d), 10)\n var rdow = 7 - _formats.u(d)\n var woy = parseInt((doy + rdow) / 7, 10)\n return _xPad(woy, 0, 10)\n },\n y: function (d) {\n return _xPad(d.getFullYear() % 100, 0)\n },\n Y: 'getFullYear',\n z: function (d) {\n var o = d.getTimezoneOffset()\n var H = _xPad(parseInt(Math.abs(o / 60), 10), 0)\n var M = _xPad(o % 60, 0)\n return (o > 0 ? '-' : '+') + H + M\n },\n Z: function (d) {\n return d.toString().replace(/^.*\\(([^)]+)\\)$/, '$1')\n },\n '%': function (d) {\n return '%'\n }\n }\n\n var _date = (typeof timestamp === 'undefined')\n ? new Date()\n : (timestamp instanceof Date)\n ? new Date(timestamp)\n : new Date(timestamp * 1000)\n\n var _aggregates = {\n c: 'locale',\n D: '%m/%d/%y',\n F: '%y-%m-%d',\n h: '%b',\n n: '\\n',\n r: 'locale',\n R: '%H:%M',\n t: '\\t',\n T: '%H:%M:%S',\n x: 'locale',\n X: 'locale'\n }\n\n // First replace aggregates (run in a loop because an agg may be made up of other aggs)\n while (fmt.match(/%[cDFhnrRtTxX]/)) {\n fmt = fmt.replace(/%([cDFhnrRtTxX])/g, function (m0, m1) {\n var f = _aggregates[m1]\n return (f === 'locale' ? lcTime[m1] : f)\n })\n }\n\n // Now replace formats - we need a closure so that the date object gets passed through\n var str = fmt.replace(/%([aAbBCdegGHIjklmMpPsSuUVwWyYzZ%])/g, function (m0, m1) {\n var f = _formats[m1]\n if (typeof f === 'string') {\n return _date[f]()\n } else if (typeof f === 'function') {\n return f(_date)\n } else if (typeof f === 'object' && typeof f[0] === 'string') {\n return _xPad(_date[f[0]](), f[1])\n } else {\n // Shouldn't reach here\n return m1\n }\n })\n\n return str\n}\n"]}
|