我需要格式为“yyyy-mm-dd:hh:mm:ss”的当前系统日期时间。
https://stackoverflow.com/a/19079030/2663388帮了很多忙。
new Date().toJSON()
正在显示“2014-07-14T13:41:23.521Z”
有人可以帮助我从“2014-07-14T13:41:23.521Z”中提取“yyyy-mm-dd:hh:mm:ss”吗?
答案 0 :(得分:6)
似乎除非使用正则表达式,否则没有好的方法可以使用原始代码。虽然有一些模块,例如Moment.js。
如果您使用的是npm:
npm install moment --save
然后在你的代码中:
var moment = require('moment');
moment().format('yyyy-mm-dd:hh:mm:ss');
这可能更容易理解。
答案 1 :(得分:3)
怎么样:
new Date().toString().replace(/T/, ':').replace(/\.\w*/, '');
给我的回报:
2014-07-14:13:41:23
但更安全的方法是使用在{javascript(浏览器)和node.js中运行的Date
类方法:
var date = new Date();
function getDateStringCustom(oDate) {
var sDate;
if (oDate instanceof Date) {
sDate = oDate.getYear() + 1900
+ ':'
+ ((oDate.getMonth() + 1 < 10) ? '0' + (oDate.getMonth() + 1) : oDate.getMonth() + 1)
+ ':' + oDate.getDate()
+ ':' + oDate.getHours()
+ ':' + ((oDate.getMinutes() < 10) ? '0' + (oDate.getMinutes()) : oDate.getMinutes())
+ ':' + ((oDate.getSeconds() < 10) ? '0' + (oDate.getSeconds()) : oDate.getSeconds());
} else {
throw new Error("oDate is not an instance of Date");
}
return sDate;
}
alert(getDateStringCustom(date));
在node.js中返回:
/usr/local/bin/node date.js 2014:07:14:16:13:10
在Firebug中:
2014:07:14:16:14:31
答案 2 :(得分:1)
虽然其他答案很有帮助。 我看到以下代码对我有用。
var d = new Date(); 的console.log(d.toJSON()片(0,19).replace(&#39; T&#39;&#39;:&#39;));
控制台上的输出为:2014-07-15:06:10:16 我正在使用node.js,在ubuntu上表达。
答案 3 :(得分:1)
使用
安装瞬间npm install moment --save
然后在您的代码中导入这样的时刻。
var moment = require('moment')
var created = moment().format('YYYY-MM-DD hh:mm:ss')
答案 4 :(得分:0)
明确调用日期的每个部分:
function formatDate(date) {
return [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-') + ':' +
[date.getHours(), date.getMinutes(), date.getSeconds()].join(':');
}
function formatDatePart(part) {
return part < 10 ? ("0" + part) : part;
}
您可以在this fiddle上看到一个示例。
答案 5 :(得分:0)
使用padStart
并且不推荐使用getYear
的@Bernhard代码的更清洁版本
function getCurrentDateTimeString() {
const date = new Date();
return date.getFullYear() + '-' +
(date.getMonth() + 1).toString().padStart(2, '0') + '-' +
date.getDate().toString().padStart(2, '0') + ':' +
date.getHours().toString().padStart(2, '0') + ':' +
date.getMinutes().toString().padStart(2, '0') + ':' +
date.getSeconds().toString().padStart(2, '0');
}
console.log(getCurrentDateTimeString());
答案 6 :(得分:0)
这是正确的方式
var moment = require('moment');
moment().format('Y-M-D H:m:s');
答案 7 :(得分:0)
您可以使用 node.js 中的 04
方法
toLocaleString()