@konstructio/ui
Version:
A set of reusable and customizable React components built for konstruct.io
30 lines (29 loc) • 1.17 kB
JavaScript
var i = (t, a) => a === "12" ? `${t.getHours() % 12 || 12}:${t.getMinutes().toString().padStart(2, "0")} ${t.getHours() >= 12 ? "PM" : "AM"}` : `${t.getHours().toString().padStart(2, "0")}:${t.getMinutes().toString().padStart(2, "0")}`, g = (t) => t?.getHours() ?? -1, c = (t) => t?.getMinutes() ?? -1, p = (t, a) => {
const u = t.trim().toUpperCase();
if (a === "12") {
const e = u.match(/^(\d{1,2}):(\d{1,2})\s*(AM|PM)?$/i);
if (e) {
let r = parseInt(e[1], 10);
const n = parseInt(e[2], 10), s = e[3]?.toUpperCase();
if (r < 1 || r > 12 || n < 0 || n > 59) return null;
s === "PM" && r !== 12 ? r += 12 : s === "AM" && r === 12 && (r = 0);
const o = /* @__PURE__ */ new Date();
return o.setHours(r, n, 0, 0), o;
}
} else {
const e = u.match(/^(\d{1,2}):(\d{1,2})$/);
if (e) {
const r = parseInt(e[1], 10), n = parseInt(e[2], 10);
if (r < 0 || r > 23 || n < 0 || n > 59) return null;
const s = /* @__PURE__ */ new Date();
return s.setHours(r, n, 0, 0), s;
}
}
return null;
};
export {
i as getFormattedTime,
g as getHours,
c as getMinutes,
p as parseTimeString
};