node js中的日期格式转换
Date format conversion in node js
我正在使用一个表单,用户可以从该表单中 select 来自日期时间选择器的 dd-mm-yyyy hh:mm:ss
格式的日期时间。现在我想将格式转换为 yyyy-mm-dd hh:mm:ss
格式存储在 mysql table.
我试过这样的 moment js
console.log(moment(status.date).format('MM/DD/YYYY'));
其中 status.date 我将 post 来自用户 selects datetime 来自 datetimepicker 的表单。
请帮忙
先转成ISOString,再用replace
方法去掉不需要的东西
var date = new Date();
date.toISOString().replace(/T/, " ").replace(/\..+/,'')
source: chbrown's answer
你可以这样做而不是有一些模块。
var fd = status.date;
var fromDate = fd.split(" ");
console.log(formatDate(fromDate[0],fromDate[1] + " " + fromDate[2]));//
并在那里添加这些函数。
function formatDate(date, time2) {
var from = date.split("-");
var f = from[2] + "-" + from[1] + "-" + from[0];
var time1 = time(time2);
return f + " " + time1;
}
function time(time) {
var hours = Number(time.match(/^(\d+)/)[1]);
var minutes = Number(time.match(/:(\d+)/)[1]);
var AMPM = time.match(/\s(.*)$/)[1];
if ((AMPM == "PM" || AMPM == "pm") && hours < 12)
hours = hours + 12;
if ((AMPM == "AM" || AMPM == "am") && hours == 12)
hours = hours - 12;
var sHours = hours.toString();
if (hours < 10)
sHours = "0" + sHours;
if (minutes < 10)
sMinutes = "0" + sMinutes;
return (sHours + ":" + sMinutes);
}
建立在之上,我们可以使用toLocaleString
获取ISO格式的当地时间。
需要根据不同地区货比三家toLocaleString
提供的基本格式。最接近 ISO 的格式是 en-CA
(所有基于区域的格式请参考 )。然后我们使用选项 {hour12: false}
转换为 24 小时制。
const d = new Date();
d.toLocaleString('en-CA', {hour12: false}).replace(/, /, ' ');
我正在使用一个表单,用户可以从该表单中 select 来自日期时间选择器的 dd-mm-yyyy hh:mm:ss
格式的日期时间。现在我想将格式转换为 yyyy-mm-dd hh:mm:ss
格式存储在 mysql table.
我试过这样的 moment js
console.log(moment(status.date).format('MM/DD/YYYY'));
其中 status.date 我将 post 来自用户 selects datetime 来自 datetimepicker 的表单。
请帮忙
先转成ISOString,再用replace
方法去掉不需要的东西
var date = new Date();
date.toISOString().replace(/T/, " ").replace(/\..+/,'')
source: chbrown's answer
你可以这样做而不是有一些模块。
var fd = status.date;
var fromDate = fd.split(" ");
console.log(formatDate(fromDate[0],fromDate[1] + " " + fromDate[2]));//
并在那里添加这些函数。
function formatDate(date, time2) {
var from = date.split("-");
var f = from[2] + "-" + from[1] + "-" + from[0];
var time1 = time(time2);
return f + " " + time1;
}
function time(time) {
var hours = Number(time.match(/^(\d+)/)[1]);
var minutes = Number(time.match(/:(\d+)/)[1]);
var AMPM = time.match(/\s(.*)$/)[1];
if ((AMPM == "PM" || AMPM == "pm") && hours < 12)
hours = hours + 12;
if ((AMPM == "AM" || AMPM == "am") && hours == 12)
hours = hours - 12;
var sHours = hours.toString();
if (hours < 10)
sHours = "0" + sHours;
if (minutes < 10)
sMinutes = "0" + sMinutes;
return (sHours + ":" + sMinutes);
}
建立在toLocaleString
获取ISO格式的当地时间。
需要根据不同地区货比三家toLocaleString
提供的基本格式。最接近 ISO 的格式是 en-CA
(所有基于区域的格式请参考 {hour12: false}
转换为 24 小时制。
const d = new Date();
d.toLocaleString('en-CA', {hour12: false}).replace(/, /, ' ');