Skip to content

Commit a2caead

Browse files
juliangruberTooTallNate
authored andcommitted
Add "week" / "w" support
Closes #31.
1 parent e359eee commit a2caead

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

index.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ var s = 1000;
66
var m = s * 60;
77
var h = m * 60;
88
var d = h * 24;
9+
var w = d * 7;
910
var y = d * 365.25;
1011

1112
/**
@@ -49,7 +50,7 @@ function parse(str) {
4950
if (str.length > 100) {
5051
return;
5152
}
52-
var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
53+
var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
5354
str
5455
);
5556
if (!match) {
@@ -64,6 +65,10 @@ function parse(str) {
6465
case 'yr':
6566
case 'y':
6667
return n * y;
68+
case 'weeks':
69+
case 'week':
70+
case 'w':
71+
return n * w;
6772
case 'days':
6873
case 'day':
6974
case 'd':
@@ -130,11 +135,13 @@ function fmtShort(ms) {
130135
*/
131136

132137
function fmtLong(ms) {
133-
return plural(ms, d, 'day') ||
138+
return (
139+
plural(ms, d, 'day') ||
134140
plural(ms, h, 'hour') ||
135141
plural(ms, m, 'minute') ||
136142
plural(ms, s, 'second') ||
137-
ms + ' ms';
143+
ms + ' ms'
144+
);
138145
}
139146

140147
/**

tests.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ describe('ms(string)', function() {
3333
expect(ms('2d')).to.be(172800000);
3434
});
3535

36+
it('should convert w to ms', function() {
37+
expect(ms('3w')).to.be(1814400000);
38+
});
39+
3640
it('should convert s to ms', function() {
3741
expect(ms('1s')).to.be(1000);
3842
});

0 commit comments

Comments
 (0)