class Extension { public static ToThaiMonth(value: number) { switch (value) { case 1: return "มกราคม"; case 2: return "กุมภาพันธ์"; case 3: return "มีนาคม"; case 4: return "เมษายน"; case 5: return "พฤษภาคม"; case 6: return "มิถุนายน"; case 7: return "กรกฎาคม"; case 8: return "สิงหาคม"; case 9: return "กันยายน"; case 10: return "ตุลาคม"; case 11: return "พฤศจิกายน"; case 12: return "ธันวาคม"; default: return ""; } } public static ToThaiShortMonth(value: number) { switch (value) { case 1: return "ม.ค."; case 2: return "ก.พ."; case 3: return "มี.ค."; case 4: return "เม.ย."; case 5: return "พ.ค."; case 6: return "มิ.ย."; case 7: return "ก.ค."; case 8: return "ส.ค."; case 9: return "ก.ย."; case 10: return "ต.ค."; case 11: return "พ.ย."; case 12: return "ธ.ค."; default: return ""; } } public static ToThaiYear(value: number) { if (value < 2400) return value + 543; else return value; } public static ToCeYear(value: number) { if (value >= 2400) return value - 543; else return value; } public static ToThaiNumber(value: string) { let arabicNumbers = "0123456789"; let thaiNumbers = "๐๑๒๓๔๕๖๗๘๙"; let result = ""; for (let digit of value) { let index = arabicNumbers.indexOf(digit); if (index >= 0) { result += thaiNumbers[index]; } else { result += digit; } } return result; } public static ToThaiFullDate(value: Date) { let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear(); return ( "วันที่ " + value.getDate() + " เดือน " + Extension.ToThaiMonth(value.getMonth() + 1) + " พ.ศ. " + yy ); } public static ToThaiFullDate2(value: Date) { let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear(); return value.getDate() + " " + Extension.ToThaiMonth(value.getMonth() + 1) + " " + yy; } public static ToThaiFullDate3(value: Date) { let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear(); return value.getDate() + " เดือน " + Extension.ToThaiMonth(value.getMonth() + 1) + " พ.ศ. " + yy; } public static sumObjectValues(array: any, propertyName: any) { let sum = 0; for (let i = 0; i < array.length; i++) { if (array[i][propertyName] !== undefined) { sum += array[i][propertyName]; } } return sum; } public static ToThaiShortDate(value: Date) { let yy = value.getFullYear() < 2400 ? value.getFullYear() + 543 : value.getFullYear(); return ( value.getDate() + " " + Extension.ToThaiShortMonth(value.getMonth() + 1) + " " + yy.toString().slice(-2) ); } } export default Extension;