Initializing playground…
← Back to roadmap
toTimedelta
← tsb playground
Quick examples
TypeScript
▶ Run
↺ Reset
import { toTimedelta, Timedelta, formatTimedelta, Series } from "tsb"; // Scalar — various string formats console.log(toTimedelta("1 days 02:03:04")); // Timedelta(93_784_000 ms) console.log(toTimedelta("01:30:00")); // Timedelta(5_400_000 ms) console.log(toTimedelta("P1DT2H3M4S")); // ISO 8601 console.log(toTimedelta("1h 30m 20s 500ms")); // human-readable // Scalar — numeric console.log(toTimedelta(1_000_000_000)); // default unit "ns" → 1000 ms console.log(toTimedelta(5000, { unit: "ms" })); // 5000 ms console.log(toTimedelta(2, { unit: "D" })); // 2 days // Missing values console.log(toTimedelta(null)); // null console.log(toTimedelta("nope", { errors: "coerce" })); // null console.log(toTimedelta("nope", { errors: "ignore" })); // "nope" (unchanged) // Timedelta arithmetic const a = toTimedelta("1h") as Timedelta; const b = toTimedelta("30m") as Timedelta; console.log(a.add(b).toString()); // "0 days 01:30:00" console.log(a.subtract(b).totalMs); // 1_800_000 // Array console.log(toTimedelta(["1h", "30m", null])); // => [Timedelta(3_600_000), Timedelta(1_800_000), null] // Series const s = new Series({ data: ["1h", "30m", null] }); console.log(toTimedelta(s)); // => Series<Timedelta | null> with dtype=timedelta // formatTimedelta formatTimedelta(new Timedelta(86_400_000 + 3_661_000)); // => "1 day 01:01:01"
Click ▶ Run to execute
Ctrl+Enter to run · Tab to indent
Python / pandas equivalent
TypeScript
▶ Run
↺ Reset
import pandas as pd # Scalar pd.to_timedelta("1 days 02:03:04") pd.to_timedelta("01:30:00") pd.to_timedelta("P1DT2H3M4S") pd.to_timedelta(5000, unit="ms") # Array / Series pd.to_timedelta(["1h", "30m", None]) s = pd.Series(["1h", "30m", None]) pd.to_timedelta(s) # Timedelta arithmetic pd.Timedelta("1h") + pd.Timedelta("30m")
Click ▶ Run to execute
Ctrl+Enter to run · Tab to indent