如何在节点中以“2014-04-01:08:00:00”格式获取当前日期时间?

时间:2014-07-14 13:54:35

标签: node.js date

我需要格式为“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”吗?

8 个答案:

答案 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()