moment-fridays
FYI
flowing-moments has the exact same functionality as this code, plus additional configuration options (i.e. days other than fridays ;-)
Installation
npm install moment-fridays
API
use as a module..
var fridays = // > use the defaults:// fridays('', {}, cb) // > specify a date that moment can parse:// fridays(any_valid_date, cb) // > opts are optional,// > cb can be 2nd or 3rd parameter:// fridays(Date.now(), opts || {}, cb) var opts = format: 'dddd Do MMM YYYY'
or from the command line..
node indexjs --format='dddd Do, MMM YYYY' -l5 '2008-02-29' //output is:Friday 29th Feb 2008Friday 22nd Feb 2008Friday 15th Feb 2008Friday 8th Feb 2008Friday 1st Feb 2008
its easy to get the previous four fridays:
node index.js |head -n4
Documentation
see the Moment.js docs for different ways of formatting the date output
(in)accuracy
There is an issue with accuracy when using date.subtract(n, 'days')
, which is discussed in this issue. A hardLimit
has been implemented here to avoid dates earlier than June 1888, this is NOT the point at which the bug appears, it is just an arbitrary limit because for this use case i am not interested in dates older than this.
License
MIT