获取momentJS日期的当前时间

时间:2018-09-30 15:15:50

标签: javascript date time format momentjs

我需要帮助格式化日期,以便以所需的格式获取结果。

Expected: Sun Sep 30 2018 20:39:52 GMT+0530
Recieved: Sun Sep 30 2018 00:00:00 GMT+0530

我正在尝试什么:

console.log(moment('2018-09-30'));

6 个答案:

答案 0 :(得分:0)

示例代码不包含带时间的日期。

但是,要以某种所需的格式打印,可以使用moment.format()。参见documentation

const m = moment('2018-09-30');
console.log(m.format());
console.log(m.format('YYYY-MM-DD, HH:mm:ss ZZ'));
console.log(m.format('ddd MMM DD YYYY HH:mm:ss \\G\\M\\T ZZ'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

如果您实际上是在发送样本中的时间,则代码仍将相同。除非您想保留原始时区。为此,我在几分钟前回答了同样的问题。这是reply for that

答案 1 :(得分:0)

moment.parseZone('2016-05-03T22:15:01+02:00').local().format();

答案 2 :(得分:0)

console.log(moment('2018-09-30')); won't give you `Sun Sep 30 2018 00:00:00 GMT+0530` this.

它将打印出一个矩对象。

如果您需要确切的格式,则可能不需要moment.js,

console.log(new Date().toString()) //"Sun Nov 04 2018 00:00:00 GMT+0530 (India Standard Time)"

希望有帮助。

答案 3 :(得分:0)

如果您只是想要当前时间并以所需的格式输出,则应该这样做:

moment().format('dddd MMM DD YYYY HH:MM:SS Z')

输出: 2018年10月1日星期一03:10:39 +10:00

您不需要将当前日期传递给moment()

答案 4 :(得分:0)

您没有提供时间,所以您会得到:

moment('2018-09-30').toString() // "Sun Sep 30 2018 00:00:00 GMT-0700"

现在,如果您将momentnew Date('2018-09-30')一起使用,但仍然不提供时间:

moment(new Date('2018-09-30')).toString() // "Sun Sep 30 2018 17:00:00 GMT+0000"

但是您现在获得的是默认时间GMT+0000,而不是您期望的确切时间。

现在,如果您仅使用new Date(),则将获得所需的输出,因为new Date()包含日期和时间等。

moment(new Date()).toString() // "Sun Sep 30 2018 18:55:46 GMT-0700"

因此,最重要的是...如果您希望超时,请输入:)

答案 5 :(得分:0)

我是这样做的:

const currentTime = moment().format('HH:mm:ss'); // 20:39:52
const dateWithCurrentTime = moment(`2018-09-30 ${currentTime}`); // 2018-09-30 20:39:52