javascript date function

ผมเขียนแบบนี้ครับ เวลาใส่ค่าเข้าไป ได้วันที่ตรง แต่เวลาเอาไปใช้ ใน googlesheet มันดันหายไป 1 วัน
แทนที่จะได้ Thu Mar 12 2020 00:00:00 GMT+0700 (Indochina Time)
ดันกลายเป็น 11-Mar-2020 แทน เคยเจอปัญหาแบบนี้แก้อย่างไรครับ (นอกจากจะเอา 1 วัน ไปบวกตอนท้าย)
ใส่โค้ด
function test(){
 var s = '12 มีค 63';
  console.log(GetDateFromStr(s));
//Thu Mar 12 2020 00:00:00 GMT+0700 (Indochina Time)
}

function GetDateFromStr(str) { 
  var arr = str.split(' ');
  var q = GetMthfromThStr_(arr[1]);
  //var ans = Date.parse('2020-2-12');
  //' 3 พค 63 ';
  //Sun May 03 00:00:00 GMT+07:00 2020

  var y = Porsor2Korsor(arr[2]);
  var m = GetMthfromThStr_(arr[1]);
  var ans = new Date(y,m,arr[0]);
  return (ans);
}
function Porsor2Korsor(mstr){
  var m = parseInt(mstr);
 return ((2500+m)-543); 
}

function GetMthfromThStr_(str){
  switch (str) {
    case 'มค':
      ans = 1;
      break;
    case 'กพ':
      ans = 2;
      break;
    case 'มีค':
      ans = 3;
      break;
    case 'เมย':
      ans = 4;
      break;
    case 'เมย':
      ans = 4;
      break;
    case 'เมย':
      ans = 4;
      break;
    case 'เมย':
      ans = 4;
      break;
    case 'พค':
      ans = 5;
      break;    
    case 'มิย':
      ans = 6;
      break;
    case 'กค':
      ans = 7;
      break;
    case 'สค':
      ans = 8;
      break;
    case 'กย':
      ans = 9;
      break;
    case 'ตค':
      ans = 10;
      break;
    case 'พย':
      ans = 11;
      break;
    default:
      ans = 12;
  }
  return ans-1;
  // ที่ลบ 1 เพราะ month รับค่า 0-11
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่