将文本从输入转换为日期类型

时间:2017-01-03 23:44:06

标签: javascript php

例如: 如果我有这个字符串或数字020117前两个数字是一天,前四个数字是日期和月份,全文是日,月和年。

我怎样才能实现这一目标020117 - > 2017年2月1日。

请,我需要你的帮助

2 个答案:

答案 0 :(得分:0)

<?php

$s = "020117";
print substr($s, 0, 2)."/".substr($s, 2, 2)."/20".substr($s, 4, 2);
?>

或作为功能:

<?php


function itd($i){
 return substr($i, 0, 2)."/".substr($i, 2, 2)."/20".substr($i, 4, 2);
}

print itd('020117');
?>

答案 1 :(得分:0)

您可以将其转换为具有简单功能的日期,如:

function parseDMY(s) {
  // Get date parts
  var b = s.match(/\d\d/g);
  var d;
  
  // If got 3 parts, convert to Date
  if (b && b.length == 3) {
    d = new Date('20' + b[2], --b[1], b[0]);
    //Check date values were valid, if not set to invalid date
    d = d && d.getMonth() == b[1]? d : new Date(NaN);
  }
  return d;     
}

// Basic support
console.log(parseDMY('020117').toString());

// New support for toLocaleString
console.log(parseDMY('020117').toLocaleDateString('en-GB'));

或者只是重新格式化字符串:

var s = '020117';
console.log(s.replace(/(\d\d)(\d\d)(\d\d)/, '$1/$2/20$3'))