UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

46 lines (45 loc) 1.52 kB
export function getdate(timestamp) { // discuss at: https://locutus.io/php/getdate/ // original by: Paulo Freitas // input by: Alex // bugfixed by: Brett Zamir (https://brett-zamir.me) // example 1: getdate(1055901520) // returns 1: {'seconds': 40, 'minutes': 58, 'hours': 1, 'mday': 18, 'wday': 3, 'mon': 6, 'year': 2003, 'yday': 168, 'weekday': 'Wednesday', 'month': 'June', '0': 1055901520} const _w = ['Sun', 'Mon', 'Tues', 'Wednes', 'Thurs', 'Fri', 'Satur']; const _m = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', ]; const d = typeof timestamp === 'undefined' ? new Date() : timestamp instanceof Date ? new Date(timestamp) // Not provided : new Date(Number(timestamp) * 1000); // Javascript Date() // UNIX timestamp (auto-convert to int) const w = d.getDay(); const m = d.getMonth(); const y = d.getFullYear(); const r = { seconds: d.getSeconds(), minutes: d.getMinutes(), hours: d.getHours(), mday: d.getDate(), wday: w, mon: m + 1, year: y, yday: Math.floor((d.getTime() - new Date(y, 0, 1).getTime()) / 86400000), weekday: (_w[w] ?? '') + 'day', month: _m[m] ?? '', '0': Number.parseInt(String(d.getTime() / 1000), 10), }; return r; }