mirror of
https://github.com/nvms/prsm.git
synced 2025-12-15 15:50:53 +00:00
| .. | ||
| src | ||
| .npmignore | ||
| bump.config.ts | ||
| bun.lockb | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsup.config.ts | ||
| vitest.config.ts | ||
@prsm/ms
A lightweight utility for parsing and converting time strings to milliseconds and other time units.
Installation
npm install @prsm/ms
Usage
Basic Usage
import ms from "@prsm/ms";
// Convert complex time expressions to milliseconds
ms("1day 2hrs 30min"); // 95400000
ms("15mins 12s"); // 912000
ms("1w 3d 12h"); // 907200000
// Negative values
ms("-30min"); // -1800000
// Numbers are passed through
ms(100); // 100
// Format flexibility
ms("1,000 seconds"); // 1000000
ms("2_000ms"); // 2000
Options
// Disable rounding (default: true)
ms("10.9ms"); // 11
ms("10.9ms", { round: false }); // 10.9
// Convert to different units (default: "ms")
ms("1000.9ms", { unit: "s" }); // 1
ms("1000.9ms", { round: false, unit: "s" }); // 1.0009
ms("60s", { unit: "m" }); // 1
ms("60m", { unit: "h" }); // 1
Unit Conversion
// Convert between different time units
ms("1h", { unit: "ms" }); // 3600000
ms("90min", { unit: "h" }); // 1.5
ms("1d", { unit: "h" }); // 24
ms("1w", { unit: "d" }); // 7
// Precision control
ms("90.5min", { unit: "h" }); // 2 (rounded by default)
ms("90.5min", { unit: "h", round: false }); // 1.5083333333333333
Default Values
// Provide default values for invalid inputs
ms("", 500); // 500
ms(null, "1s"); // 1000
ms("invalid", "5m"); // 300000
Supported Time Units
| Unit | Aliases |
|---|---|
| Milliseconds | ms, msec, msecs, millisec, millisecond, milliseconds |
| Seconds | s, sec, secs, second, seconds |
| Minutes | m, min, mins, minute, minutes |
| Hours | h, hr, hrs, hour, hours |
| Days | d, dy, day, days |
| Weeks | w, wk, wks, week, weeks |