import zeroFill from '../utils/zero-fill';
-export var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
+export var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
return format;
}
-
return this.hours() % 12 || 12;
}
+function kFormat() {
+ return this.hours() || 24;
+}
+
addFormatToken('H', ['HH', 2], 0, 'hour');
addFormatToken('h', ['hh', 2], 0, hFormat);
+addFormatToken('k', ['kk', 2], 0, kFormat);
addFormatToken('hmm', 0, 0, function () {
return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
assert.equal(moment('18:34:56', 'HH:mm:ss').format('Hmmss'), '183456');
});
+test('k and kk', function (assert) {
+ assert.equal(moment('01:23:45', 'HH:mm:ss').format('k'), '1');
+ assert.equal(moment('12:34:56', 'HH:mm:ss').format('k'), '12');
+ assert.equal(moment('01:23:45', 'HH:mm:ss').format('kk'), '01');
+ assert.equal(moment('12:34:56', 'HH:mm:ss').format('kk'), '12');
+ assert.equal(moment('00:34:56', 'HH:mm:ss').format('kk'), '24');
+ assert.equal(moment('00:00:00', 'HH:mm:ss').format('kk'), '24');
+});
+
test('Y token', function (assert) {
assert.equal(moment('2010-01-01', 'YYYY-MM-DD', true).format('Y'), '2010', 'format 2010 with Y');
assert.equal(moment('-123-01-01', 'Y-MM-DD', true).format('Y'), '-123', 'format -123 with Y');