UNPKG

kuote-util-date

Version:
125 lines (119 loc) 4.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _default = function () { var weeks = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; var monthsShort = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec"]; var padZero = function padZero(inString) { return ("00" + inString).slice(-2); }; var selector = { "yyyy": function yyyy(date) { return date.getFullYear(); }, "yy": function yy(date) { return date.getFullYear().toString().slice(-2); }, "MMMM": function MMMM(date) { return months[date.getMonth()]; }, "MMM": function MMM(date) { return monthsShort[date.getMonth()]; }, "MM": function MM(date) { return padZero(date.getMonth() + 1); }, "M": function M(date) { return date.getMonth() + 1; }, "dd": function dd(date) { return padZero(date.getDate()); }, "d": function d(date) { return date.getDate(); }, "hh": function hh(date) { var h = date.getHours(); return h === 12 ? "12" : padZero(h % 12); }, "h": function h(date) { var h = date.getHours(); return h === 12 ? "12" : h % 12; }, "P": function P(date) { return date.getHours() < 12 ? "AM" : "PM"; }, "HH": function HH(date) { return padZero(date.getHours()); }, "H": function H(date) { return date.getHours(); }, "mm": function mm(date) { return padZero(date.getMinutes()); }, "m": function m(date) { return date.getMinutes(); }, "ss": function ss(date) { return padZero(date.getSeconds()); }, "s": function s(date) { return date.getSeconds(); }, "DDDD": function DDDD(date) { return weeks[date.getDay()]; }, "DDD": function DDD(date) { return weeks[date.getDay()].substring(0, 3); }, "D": function D(date) { return date.getDay(); } }; return { now: Date.now, /** * A Date format function. * <table> * <tr><th>place holder</th><th>explain</th><th>example</th></tr> * <tr><td>yyyy</td><td>Full year</td><td>1970</td></tr> * <tr><td>yy</td><td>Short year</td><td>70</td></tr> * <tr><td>MMMM</td><td>Full month</td><td>January</td></tr> * <tr><td>MMM</td><td>Short month</td><td>Jan</td></tr> * <tr><td>MM</td><td>Month with pad 0</td><td>01</td></tr> * <tr><td>M</td><td>Month</td><td>1</td></tr> * <tr><td>dd</td><td>Day of month with pad 0</td><td>01</td></tr> * <tr><td>d</td><td>Day of month</td><td>1</td></tr> * <tr><td>hh</td><td>Hour in 12 with pad 0</td><td>00 or 12</td></tr> * <tr><td>h</td><td>Hour in 12</td><td>0 or 12</td></tr> * <tr><td>P</td><td>Period(AM/PM)</td><td>AM</td></tr> * <tr><td>HH</td>Hour in 24 with pad 0<td></td><td>00</td></tr> * <tr><td>H</td><td>Hour in 24</td><td>0</td></tr> * <tr><td>mm</td><td>Minute with pad 0</td><td>00</td></tr> * <tr><td>m</td><td>Minute</td><td>0</td></tr> * <tr><td>ss</td><td>Second with pad 0</td><td>00</td></tr> * <tr><td>s</td><td>Second</td><td>0</td></tr> * <tr><td>DDDD</td><td>Day name of week</td><td>Monday</td></tr> * <tr><td>DDD</td><td>Short day name of week</td><td>Mon</td></tr> * <tr><td>D</td><td>Day of week</td><td>0(Sunday)</td></tr> * </table> * * @method format * @param {String} format * @param {Date} date * @namespace nx.date */ format: function format(inFormat, inDate) { var format = inFormat || "yyyy-MM-dd hh:mm:ss DD"; var date = inDate || new Date(); return format.replace(/yyyy|yy|MMMM|MMM|MM|dd|d|hh|h|P|HH|H|mm|m|ss|s|DDDD|DDD|D/g, function (key) { return selector[key](date); }); } }; }(); exports["default"] = _default;