class DateTimePicker {
    element;
    constructor(id) {
        this.element = document.getElementById(id)
        while (this.element.lastElementChild) { this.element.removeChild(this.element.lastElementChild); }
        this.element.date_input = document.createElement("input");
        this.element.date_input.type = "date";
        this.element.time_input = document.createElement("input");
        this.element.time_input.classList.add('timepicker');
        this.element.appendChild(this.element.date_input);
        this.element.appendChild(this.element.time_input);
    }
    #getDateString(dateTime) {
        var month = (now.getMonth() + 1);               
        var day = now.getDate();
        if (month < 10) month = "0" + month;
        if (day < 10) day = "0" + day;
        return now.getFullYear() + '-' + month + '-' + day;
    }
    #getTimeString(dateTime) {
        var hour = now.getHours();
        if (hour < 10) hour = "0" + hour;
        var minute = now.getMinutes();
        if (minute < 10) minute = "0" + minute;
        var second = now.getSeconds();
        if (second < 10) second = "0" + second;
        return hour + ":" + minute + ":" + second;
    }
    set dateTime(value) {
        this.element.date_input.value = this.#getDateString(value);
        this.element.time_input.value = this.#getTimeString(value);
    }
    get dateTime() {
        let str = this.element.date_input.value + "T" + this.element.time_input.value;
        var date = new Date(str.substring(0, 4),
            str.substring(5, 7) - 1,
            str.substring(8, 10),
            str.substring(11, 13),
            str.substring(14, 16),
            str.substring(17));
        return date.toISOString();
    }
}
  