From 82d59bb8de77e219ddfc7ea97d6d603b885ca666 Mon Sep 17 00:00:00 2001 From: Angelos Chalaris Date: Sat, 29 Sep 2018 13:22:20 +0300 Subject: [PATCH] Add dayOfYear --- snippets/dayOfYear.md | 16 ++++++++++++++++ tag_database | 1 + 2 files changed, 17 insertions(+) create mode 100644 snippets/dayOfYear.md diff --git a/snippets/dayOfYear.md b/snippets/dayOfYear.md new file mode 100644 index 000000000..e40640777 --- /dev/null +++ b/snippets/dayOfYear.md @@ -0,0 +1,16 @@ +### dayOfYear + +Gets the day of the year from a `Date` object. + +Use `new Date()` and `Date.prototype.getFullYear()` to get the first day of the year as a `Date` object, subtract it from the provided `date` and divide with the milliseconds in each day to get the result. +Use `Math.floor()` to appropriately round the resulting day count to an integer. + +```js +const dayOfYear = date => Math.floor( + (date - new Date(date.getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24 +); +``` + +```js +dayOfYear(new Date()); // 272 +``` diff --git a/tag_database b/tag_database index 0487802f4..52a817d0a 100644 --- a/tag_database +++ b/tag_database @@ -44,6 +44,7 @@ CSVToArray:string,array,utility,intermediate CSVToJSON:string,array,object,advanced currentURL:browser,url,beginner curry:function,recursion,intermediate +dayOfYear:date,beginner debounce:function,intermediate decapitalize:string,array,intermediate deepClone:object,recursion,intermediate