From 089830073c21da711b54ca090181c50a134f9c35 Mon Sep 17 00:00:00 2001 From: waruneeauy Date: Wed, 16 Jul 2025 15:16:18 +0700 Subject: [PATCH] fix bug function dateMonth2Thai --- src/stores/mixin.ts | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/stores/mixin.ts b/src/stores/mixin.ts index 208edb2cd..bee63cd7a 100644 --- a/src/stores/mixin.ts +++ b/src/stores/mixin.ts @@ -190,7 +190,13 @@ export const useCounterMixin = defineStore("mixin", () => { }; function monthYear2Thai(month: number, year: number, isFullMonth = false) { - const date = new Date(`${year}-${month + 1}-1`); + if ( + month < 0 || + month > 11 || + !Number.isFinite(month) || + !Number.isFinite(year) + ) + return ""; const fullMonthThai = [ "มกราคม", "กุมภาพันธ์", @@ -219,19 +225,12 @@ export const useCounterMixin = defineStore("mixin", () => { "พ.ย.", "ธ.ค.", ]; - 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()]; - } - return dstMonth + " " + dstYear; + + // assume year is in BE if > 2500 + let dstYear = year > 2500 ? year : year + 543; + // month is already 0-based + let dstMonth = isFullMonth ? fullMonthThai[month] : abbrMonthThai[month]; + return `${dstMonth} ${dstYear}`; } function dateToISO(date: Date) {