[英]Javascript convert to date/time format
我需要将日期/时间从28/06/2018 01:30:20
为2018-06-28 01:30:20
。 我找到了下面的示例,尝试根据需要进行更改,但出现“无效日期”。
var now = "2018-06-28 01:30:20"; function toJSDate(dateTime) { var dateTime = dateTime.split(" "); var date = dateTime[0].split("-"); var time = dateTime[1].split(":"); return new Date(date[0], date[1], date[2], time[0], time[1], time[2], 0); } var jsDate = toJSDate(now); var dd = jsDate.toLocaleDateString() + " " + jsDate.toLocaleTimeString(); console.log(dd);
请任何想法和感谢。
let str = "28/06/2018 01:30:20" let date = new Date(str.replace(/(\\d+)\\/(\\d+)\\/(\\d+)/g, (_, a, b, c) => c + '-' + b + '-' + a)) console.log(date);
您需要做两件事-重新排列日期字符串,然后将/
更改为-
。 您可以使用简单的字符串替换代替拆分,然后创建一个new Date()
如果不需要Date对象的功能,只需重新排列各部分:
ES6
function format(dateStr) { const dateTime = dateStr.split(" "); const date = dateTime[0].split("-"); return `${date[0]}-${date[1]}-${date[2]} ${dateTime[1]}`; } console.log(format("2018-06-28 01:30:20")); //outputs: 2018-06-28 01:30:20
如果那是您可能的解决方案,则可以使用Moment.js
然后,您可以尝试以下操作:
var now = "2018-06-28 01:30:20";
var date = moment(new Date(now)).format('YYYY-MM-DD HH:mm:ss');
现在date
以YYYY-MM-DD HH:mm:ss
格式保存字符串。 Moment.js也是处理日期格式和操作的好框架。
注意:
您也可以这样做:
var date = moment(now).format('YYYY-MM-DD HH:mm:ss');
但这将在下一个主要版本中弃用。
谢谢大家 这对我有用。 将日期/时间从“ 28/06/2018 01:30:20”更改为类似于“ 2018-06-28 01:30:20”:
function changeFormatDate (dateTime) {
dateTime = dateTime.split(" ");
var date = dateTime[0].split("/");
var time = dateTime[1].split(":");
return date[2]+"-"+date[1]+"-"+date[0]+" "+time[0]+":"+time[1]+":"+ time[2];
}
function convertStringToDateTime(dateString){
var reggie = /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/;
var dateArray = reggie.exec(dateString);
var dateObject = new Date(
(+dateArray[1]),
(+dateArray[2])-1, // Careful, month starts at 0!
(+dateArray[3]),
(+dateArray[4]),
(+dateArray[5]),
(+dateArray[6])
);
return dateObject;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.