我写了一个简单的javascript函数,将字符串转换为日期(格式为“ dd.MM.yyyy HH.mm”)。

为了提取该字符串的一部分,我使用了slice方法。
对我来说奇怪的是,只有一天能按预期返回。所有其他变量只是空字符串。
我究竟做错了什么?



(
  function(){
  alert(GetDateFromStringDateTime("20.04.2017 18:15"));


  }


)();


  function GetDateFromStringDateTime(dateStr){

  var day = dateStr.slice(0,2);
  var month = dateStr.slice(3,2);
  var year = dateStr.slice(6,4);
  var hour = dateStr.slice(11,2);
  var minute = dateStr.slice(14,2);

  return new Date(year,month,day,hour,minute);




}





控制台窗口中的图片(月,年,小时和分钟为空字符串):

javascript - JavaScript slice方法无法按预期工作-LMLPHP

最佳答案

String#slice()使用均从零开始的索引的start和end参数



console.log(GetDateFromStringDateTime("20.04.2017 18:15"));

function GetDateFromStringDateTime(dateStr) {

  var day = dateStr.slice(0, 2);
  var month = dateStr.slice(3, 5);
  var year = dateStr.slice(6, 10);
  var hour = dateStr.slice(11, 13);
  var minute = dateStr.slice(14, 16);
  console.log(day);
  console.log(month);
  console.log(year);
  console.log(hour);
  console.log(minute);

  return new Date(year, month, day, hour, minute);

}

10-07 19:28
查看更多