]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Added support for ordinals for quarter. Fixes issue #2559
authorJørn Ølmheim <joe@statoil.com>
Mon, 12 Oct 2015 07:07:25 +0000 (09:07 +0200)
committerIskren Chernev <iskren.chernev@gmail.com>
Mon, 9 Nov 2015 05:20:28 +0000 (21:20 -0800)
src/lib/format/format.js
src/lib/units/quarter.js
src/test/moment/format.js

index 773bbff46b11dd6af8529a1eb4abff2cb9b20f41..a2b755d710cb0384ea23853a3913298bfa599bf6 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]?|Q|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?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
 
 var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
 
index d383f561e3f70a8efe2832a871195c3dc12ccc61..78543a68312ce282b0c15a6cfad8df3f4e51a5ce 100644 (file)
@@ -7,7 +7,7 @@ import toInt from '../utils/to-int';
 
 // FORMATTING
 
-addFormatToken('Q', 0, 0, 'quarter');
+addFormatToken('Q', 0, 'Qo', 'quarter');
 
 // ALIASES
 
index 0e33700a8a4de1e57f3e290b29668f9e853ca017..7f69e19a6505ddbf940ce235548bfe0ac1fcebcd 100644 (file)
@@ -331,6 +331,16 @@ test('quarter formats', function (assert) {
     assert.equal(moment([2000, 0,  2]).format('[Q]Q-YYYY'), 'Q1-2000', 'Jan  2 2000 is Q1');
 });
 
+test('quarter ordinal formats', function (assert) {
+    assert.equal(moment([1985, 1,  4]).format('Qo'), '1st', 'Feb  4 1985 is 1st quarter');
+    assert.equal(moment([2029, 8, 18]).format('Qo'), '3rd', 'Sep 18 2029 is 3rd quarter');
+    assert.equal(moment([2013, 3, 24]).format('Qo'), '2nd', 'Apr 24 2013 is 2nd quarter');
+    assert.equal(moment([2015, 2,  5]).format('Qo'), '1st', 'Mar  5 2015 is 1st quarter');
+    assert.equal(moment([1970, 0,  2]).format('Qo'), '1st', 'Jan  2 1970 is 1st quarter');
+    assert.equal(moment([2001, 11, 12]).format('Qo'), '4th', 'Dec 12 2001 is 4th quarter');
+    assert.equal(moment([2000, 0,  2]).format('Qo [quarter] YYYY'), '1st quarter 2000', 'Jan  2 2000 is 1st quarter');
+});
+
 test('full expanded format is returned from abbreviated formats', function (assert) {
     var locales = '';