import { defineStore } from "pinia"; export const useCounterMixin = defineStore("mixin", () => { function date2Thai(srcDate: Date, isFullMonth = false, isTime = false) { if (srcDate == null) { return null; ` `; } const date = new Date(srcDate); const isValidDate = Boolean(+date); if (!isValidDate) return srcDate.toString(); if (isValidDate && date.getFullYear() < 1000) return srcDate.toString(); const fullMonthThai = [ "มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม", ]; const abbrMonthThai = [ "ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค.", ]; let dstYear = 0; if (date.getFullYear() > 2500) { dstYear = date.getFullYear(); } else { dstYear = date.getFullYear() + 543; } let dstMonth = ""; if (isFullMonth) { dstMonth = fullMonthThai[date.getMonth()]; } else { dstMonth = abbrMonthThai[date.getMonth()]; } let dstTime = ""; if (isTime) { const H = date.getHours().toString().padStart(2, "0"); const M = date.getMinutes().toString().padStart(2, "0"); // const S = date.getSeconds().toString().padStart(2, "0") // dstTime = " " + H + ":" + M + ":" + S + " น." dstTime = " " + H + ":" + M + " น."; } return ( date.getDate().toString().padStart(2, "0") + " " + dstMonth + " " + dstYear + dstTime ); } function covertDateObject(date: string) { if (date) { const dateParts = date.split("/"); // ประกาศตัวแปรเพื่อเก็บค่าวันที่, เดือน, และ ปี const day = parseInt(dateParts[0], 10); const month = parseInt(dateParts[1], 10) - 1; const year = parseInt(dateParts[2], 10) + 2500; // สร้างอ็อบเจ็กต์ Date ด้วยค่าที่ได้ const dateObject = new Date(year, month, day); return date2Thai(dateObject); } } return { date2Thai, covertDateObject, }; });