epochtoolkit
Version:
A comprehensive toolkit for working with dates, times, and epoch conversions in JavaScript. Provides utilities for date formatting, validation, leap year checking, and more.
69 lines (62 loc) • 1.94 kB
JavaScript
/**
* Converts milliseconds to a formatted date string
* @param {number} milliseconds
* @returns {string}
*/
function millisecondsToDate(milliseconds) {
if (isNaN(milliseconds) || milliseconds < 0) {
throw new Error("Invalid milliseconds");
}
return new Date(milliseconds).toLocaleString();
}
/**
* Converts seconds to a formatted date string
* @param {number} seconds
* @returns {string}
*/
function secondsToDate(seconds) {
return millisecondsToDate(seconds * 1000);
}
/**
* Converts ISO date string to milliseconds
* @param {string} isoString
* @returns {number}
*/
function isoToMilliseconds(isoString) {
const date = new Date(isoString);
if (isNaN(date.getTime())) {
throw new Error("Invalid ISO Date/Time string");
}
return date.getTime();
}
/**
* Converts a date/time string to an object containing milliseconds and seconds.
* @param {string} dateString - The date/time string.
* @returns {Object} - An object with milliseconds and seconds.
*/
function dateStringToEpochObject(dateString) {
const date = new Date(dateString);
if (isNaN(date.getTime())) {
throw new Error("Invalid date string");
}
return {
milliseconds: date.getTime(),
seconds: Math.floor(date.getTime() / 1000),
};
}
/**
* Converts epoch time (milliseconds) to a date object.
* @param {number} epoch - The epoch time in milliseconds.
* @returns {Object} - An object with the formatted date and time.
*/
function epochToDateObject(epoch) {
const date = new Date(epoch);
if (isNaN(date.getTime())) {
throw new Error("Invalid epoch time");
}
return {
date: date.toDateString(),
time: date.toLocaleTimeString(),
};
}
module.exports = { millisecondsToDate, secondsToDate, isoToMilliseconds, dateStringToEpochObject, epochToDateObject };