在旧版本javascript中将字符串转换为日期

uidvcgyl  于 2022-11-27  发布在  Java
关注(0)|答案(1)|浏览(82)

我试图在旧版本的javascript中将字符串转换为日期,但是,它不起作用。
当我使用节点v16运行它时,它运行得很好:

var tt = "2021-04-24T17:18:29.000"
var createDate = new Date(tt);
console.log(createDate) //2021-04-24T20:18:29.000Z
console.log(createDate.getDate()) //24
    • 然而,当我在一个旧版本的JS中运行相同的代码时,我不知道JS版本是什么,我确信这是一个旧版本,因为它不接受"let",例如,然后我得到一个错误:"无效日期"和"NaN"**
var tt = "2021-04-24T17:18:29.000"
var createDate = new Date(tt);
var x1 = createDate;
var x2 = createDate.getDate();

console.log( "createDate>> " + createDate +  " || x1 " + x1 + " x2 " + x2)
//result createDate>> Invalid Date || x1 Invalid Date x2 NaN

有人能给一个提示,把这个字符串转换成日期吗?

46scxncf

46scxncf1#

尝试Date()构造函数语法new Date(year, monthIndex, day, hours, minutes, seconds)

function dateStringToDate(dateString) {  
  var parts = dateString.split('T');
  
  var dateParts = parts[0].split('-');
  var year = parseInt(dateParts[0], 10);
  var month = parseInt(dateParts[1], 10) - 1;
  var day = parseInt(dateParts[2], 10);
  
  var timeParts = parts[1].split(':')
  var hours = parseInt(timeParts[0], 10);
  var minutes = parseInt(timeParts[1], 10);
  var seconds = parseInt(timeParts[2], 10);
  
  return new Date(year, month, day, hours, minutes, seconds);  
}

var tt = "2021-04-24T17:18:29.000";
var dateObj = dateStringToDate(tt);
console.log(dateObj);

相关问题