From: not-an-aardvark Date: Fri, 8 Apr 2016 06:10:48 +0000 (-0400) Subject: Add k and kk formatting tokens X-Git-Tag: 2.13.0~26^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=46093762bd4fcd7dde7ed84151ff55605465ab17;p=thirdparty%2Fmoment.git Add k and kk formatting tokens Fixes #2762 --- diff --git a/src/lib/format/format.js b/src/lib/format/format.js index a2b755d71..43cfef00a 100644 --- a/src/lib/format/format.js +++ b/src/lib/format/format.js @@ -1,6 +1,6 @@ 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; @@ -89,4 +89,3 @@ export function expandFormat(format, locale) { return format; } - diff --git a/src/lib/units/hour.js b/src/lib/units/hour.js index 63919de88..86f18abe4 100644 --- a/src/lib/units/hour.js +++ b/src/lib/units/hour.js @@ -14,8 +14,13 @@ function hFormat() { 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); diff --git a/src/test/moment/format.js b/src/test/moment/format.js index dc8d6cea7..418c2bdc6 100644 --- a/src/test/moment/format.js +++ b/src/test/moment/format.js @@ -418,6 +418,15 @@ test('Hmm and Hmmss', function (assert) { 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');