2023-11-07 11:17:13 +07:00
|
|
|
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
|
|
|
|
|
);
|
|
|
|
|
}
|
2023-11-07 16:35:39 +07:00
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-11-07 11:17:13 +07:00
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
date2Thai,
|
2023-11-07 16:35:39 +07:00
|
|
|
covertDateObject,
|
2023-11-07 11:17:13 +07:00
|
|
|
};
|
|
|
|
|
});
|