使用JS将泰国月份名称更改为英文

  • 本文关键字:JS 使用 javascript date
  • 更新时间 :
  • 英文 :


我的日期是21 ต.ค. 2022 06:10 PM,我想改成21 Oct 2022 06:10 PM

这是我的代码:

var date = "21 ต.ค. 2022 06:10 PM";
var monthNamesThai = ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."];
// var monthNamesEng = ["01", "02", "03", "04", "05", "06",  "07", "08", "09", "10", "11", "12"];
var monthNamesEng = ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"];

var d = new Date(date);
console.log("Change date " + d + " = " + ('0' + d.getDate()).slice(-2) + " " + monthNamesEng[d.getMonth()] + " " + d.getFullYear());

,我得到输出:Change date Invalid Date = aN undefined NaN。有没有一种简单的方法来改变泰国月份名称为英语不使用Moment.js?提前感谢

var date = "21 ต.ค. 2022 06:10 PM";
var monthNamesThai = ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."];
// var monthNamesEng = ["01", "02", "03", "04", "05", "06",  "07", "08", "09", "10", "11", "12"];
var monthNamesEng = ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"];
const thaiMonth = date.substring(date.indexOf(" ") + 1, date.indexOf(" ") + 5) 
console.log(date.replace(thaiMonth, monthNamesEng[monthNamesThai.indexOf(thaiMonth)]))

请确保您的泰国日期格式始终与此相同,否则这将不起作用。

let date = "21 ต.ค. 2022 06:10 PM";
let monthNamesThai = ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."];
let monthNamesEng = ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sept", "Oct", "Nov", "Dec"];
// change Thai month to english month
let englishDate = date.split(" ");
englishDate.splice(1, 1, monthNamesEng[monthNamesThai.indexOf(date.split(" ")[1])]);
englishDate = englishDate.join(" ");

let d = new Date(englishDate);
console.log("Change date " + d + " = " + ('0' + d.getDate()).slice(-2) + " " + monthNamesEng[d.getMonth()] + " " + d.getFullYear());

最新更新