moment
Version:
Parse, validate, manipulate, and display dates
53 lines (46 loc) • 1.23 kB
JavaScript
import { formattingTokens } from '../format/format';
export var defaultLongDateFormat = {
LTS: 'h:mm:ss A',
LT: 'h:mm A',
L: 'MM/DD/YYYY',
LL: 'MMMM D, YYYY',
LLL: 'MMMM D, YYYY h:mm A',
LLLL: 'dddd, MMMM D, YYYY h:mm A',
};
export function longDateFormat(key) {
var format = this._longDateFormat[key],
formatUpper = this._longDateFormat[key.toUpperCase()],
formatCache = this._longDateFormatCache;
if (format || !formatUpper) {
return format;
}
if (
formatCache &&
formatCache[key] &&
formatCache[key].formatUpper === formatUpper
) {
return formatCache[key].format;
}
format = formatUpper
.match(formattingTokens)
.map(function (tok) {
if (
tok === 'MMMM' ||
tok === 'MM' ||
tok === 'DD' ||
tok === 'dddd'
) {
return tok.slice(1);
}
return tok;
})
.join('');
if (!formatCache) {
formatCache = this._longDateFormatCache = {};
}
formatCache[key] = {
formatUpper: formatUpper,
format: format,
};
return format;
}