]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Add k and kk formatting tokens
authornot-an-aardvark <not-an-aardvark@users.noreply.github.com>
Fri, 8 Apr 2016 06:10:48 +0000 (02:10 -0400)
committerIskren Chernev <iskren.chernev@gmail.com>
Sat, 16 Apr 2016 05:57:53 +0000 (22:57 -0700)
Fixes #2762

src/lib/format/format.js
src/lib/units/hour.js
src/test/moment/format.js

index a2b755d710cb0384ea23853a3913298bfa599bf6..43cfef00a565dcb04ab28682436ce919e965b80b 100644 (file)
@@ -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;
 }
-
index 63919de886fb036864a4051b57fb0e49bdb6f8d8..86f18abe40f8472218fd66b2c28b0d06a5ac9021 100644 (file)
@@ -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);
index dc8d6cea7ded8813e491c1f1e66a6672013cd15b..418c2bdc608682f91051d4338314cb7f17d13b3f 100644 (file)
@@ -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');