isoformat
Version:
A tidy ISO 8601 date formatter and parser
7 lines (5 loc) • 300 B
JavaScript
const re = /^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;
export default function parse(string, fallback) {
if (!re.test(string += "")) return typeof fallback === "function" ? fallback(string) : fallback;
return new Date(string);
}