Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 7x 4x 1x 1x 4x 1x 1x 1x 1x 4x 4x 4x 4x 121x 1x 120x 120x 120x 3x 117x 117x 117x 117x 1x 116x 2x 2x 114x 3x 3x 111x 2x 2x 109x |
const padWithZero = (n) => { return n < 10 ? '0' + n : n; }
const timestampToDate = (timestamp) => {
var date = new Date(timestamp);
return (date.getFullYear() + "-" + (padWithZero(date.getMonth()+1)) + "-" + padWithZero(date.getDate()));
}
const daysSinceTimestamp = (date) => {
var today = new Date();
var startingDate = new Date(date);
var timeDiff = Math.abs(today.getTime() - startingDate.getTime());
return Math.ceil(timeDiff / (1000 * 3600 * 24));
}
const minutesInSeconds = 60;
const hourInSeconds = 60 * minutesInSeconds;
const dayInSeconds = 24 * hourInSeconds;
const weekInSeconds = 7 * dayInSeconds;
export function formatTime(timeString) {
if (!timeString) {
return "";
}
// Check if timeString is a float (timestamp) or ISO 8601 date string
const isFloatTimestamp = !isNaN(timeString) && timeString.toString().indexOf('.') !== -1;
const timestamp = isFloatTimestamp ? Number(timeString) * 1000 : Date.parse(timeString);
if (isNaN(timestamp)) {
return "Invalid date"; // or handle invalid input as you see fit
}
const now = new Date();
const dateFromEpoch = new Date(timestamp);
const secondsPast = Math.floor((now - dateFromEpoch) / 1000);
if (secondsPast < minutesInSeconds * 2) {
return 'Online now';
}
if (secondsPast < hourInSeconds) {
const minutes = Math.floor(secondsPast / minutesInSeconds);
return `${minutes} minutes ago`;
}
if (secondsPast < dayInSeconds) {
const hours = Math.floor(secondsPast / hourInSeconds);
return `${hours} hour${hours > 1 ? 's' : ''} ago`;
}
if (secondsPast < weekInSeconds) {
const days = Math.floor(secondsPast / dayInSeconds);
return `${days} day${days > 1 ? 's' : ''} ago`;
}
return dateFromEpoch.toLocaleDateString();
}
export { daysSinceTimestamp, padWithZero, timestampToDate };
|