components
3 years ago
hocs
5 years ago
pages
3 years ago
scss
4 years ago
App.js
5 years ago
analytics.scss
5 years ago
index.js
4 years ago
routes.js
5 years ago
util.js
4 years ago
util.js
38 lines
| 1 | const { __, sprintf } = wp.i18n; |
| 2 | |
| 3 | export const humanSeconds = (savedSeconds) => { |
| 4 | const hours = Math.floor(savedSeconds / 60 / 60); |
| 5 | const minutes = Math.floor(savedSeconds / 60) - hours * 60; |
| 6 | const seconds = savedSeconds % 60; |
| 7 | |
| 8 | let out = ""; |
| 9 | if (hours) { |
| 10 | out += sprintf(__("%d hours", "presto-player"), hours) + ", "; |
| 11 | } |
| 12 | if (minutes) { |
| 13 | out += sprintf(__("%d minutes", "presto-player"), minutes) + " "; |
| 14 | } |
| 15 | if ((hours || minutes) && seconds) { |
| 16 | out += __("and", "presto-player") + " "; |
| 17 | } |
| 18 | |
| 19 | out += sprintf(__("%d seconds", "presto-player"), seconds); |
| 20 | |
| 21 | return out; |
| 22 | }; |
| 23 | |
| 24 | export const timestamp = (seconds) => { |
| 25 | seconds = parseInt(seconds || 0) * 1000; |
| 26 | return new Date(seconds).toISOString().substr(11, 8); |
| 27 | }; |
| 28 | |
| 29 | /* |
| 30 | * This function remove the user timezone from new Date() |
| 31 | * https://stackoverflow.com/a/29774197/1972413 |
| 32 | */ |
| 33 | export const convertDateTimeToAbsoluteDate = (dateTime) => { |
| 34 | const offset = new Date().getTimezoneOffset(); |
| 35 | var date = new Date(dateTime.getTime() - offset * 60 * 1000); |
| 36 | return date.toISOString().split("T")[0] + "T00:00:00.000Z"; |
| 37 | }; |
| 38 |