diff --git a/strftime.js b/strftime.js index 84f5642..6290de0 100644 --- a/strftime.js +++ b/strftime.js @@ -649,7 +649,8 @@ // '70' // case 'y': case 121: - resultString += ('' + date.getFullYear()).slice(2); + let year_without_century = ('' + date.getFullYear()).slice(2) + resultString += year_without_century.slice(padding === "" && year_without_century.charAt(0) === "0" ? 1 : 0); break; // '+0000' diff --git a/test.js b/test.js index 16ae51e..8c2d50c 100755 --- a/test.js +++ b/test.js @@ -38,7 +38,7 @@ if (process.env.TZ == 'America/Vancouver') { testTimezone('America/Vancouver'); assert.format('%C', '01', '01', new Date(100, 0, 1)); assert.format('%X', '11:51:45 AM', '06:51:45 PM'); - assert.format('%c', 'Tue 07 Jun 2011 11:51:45 AM Pacific Daylight Time', 'Tue 07 Jun 2011 06:51:45 PM GMT'); + assert.format('%c', 'Tue 07 Jun 2011 11:51:45 AM Pacific Daylight Saving Time', 'Tue 07 Jun 2011 06:51:45 PM GMT'); assert.format('%j', '097', '098', new Date(1365390736236)); assert.format('%x', '06/07/11'); assert.format('%U', '12', null, new Date('2017-03-25 00:00:00 +0000')); @@ -100,6 +100,8 @@ assert.format('%k', null, '18'); assert.format('%L', '067'); assert.format('%l', null, ' 6'); assert.format('%-l', null, '6'); +assert.format("%-y", "1", null, new Date('2001-02-03T04:05:06')) +assert.format("%-y", "23", null, new Date('2023-02-03T04:05:06')) assert.format('%_l', null, ' 6'); assert.format('%0l', null, '06'); assert.format('%M', null, '51');