asn1-ts
Version:
ASN.1 encoding and decoding, including BER, CER, and DER.
14 lines (13 loc) • 684 B
JavaScript
import convertBytesToText from "../../../utils/convertBytesToText.mjs";
import validateDateTime from "../../../validators/validateDateTime.mjs";
export default function decodeDateTime(bytes) {
const str = convertBytesToText(bytes);
const year = parseInt(str.slice(0, 4), 10);
const month = parseInt(str.slice(4, 6), 10) - 1;
const day = parseInt(str.slice(6, 8), 10);
const hours = parseInt(str.slice(8, 10), 10);
const minutes = parseInt(str.slice(10, 12), 10);
const seconds = parseInt(str.slice(12, 14), 10);
validateDateTime("DATE-TIME", year, month, day, hours, minutes, seconds);
return new Date(year, month, day, hours, minutes, seconds);
}