【发布时间】:2015-06-09 21:06:50
【问题描述】:
我有两个 JavaScript 变量:startDate 和 endDate。我想将当前时间(以毫秒为单位的 unix 时间戳)存储到 endDate,并将 24 小时前的时间戳存储在 startDate 中。我将使用这两个变量来查询过去 1 天的记录。如何使用 moment JS 做到这一点?
【问题讨论】:
标签: javascript datetime momentjs
我有两个 JavaScript 变量:startDate 和 endDate。我想将当前时间(以毫秒为单位的 unix 时间戳)存储到 endDate,并将 24 小时前的时间戳存储在 startDate 中。我将使用这两个变量来查询过去 1 天的记录。如何使用 moment JS 做到这一点?
【问题讨论】:
标签: javascript datetime momentjs
对于那些正在寻找获取时间戳的方法的人来说,去做吧:
moment().valueOf()
【讨论】:
你看过网站了吗?它充满了例子 - http://momentjs.com/ 我认为你想要做的就像
var startDate = moment(endDate).subtract(1, 'days');
按照你的问题更字面意思,你可以这样做:
var endDate = moment(); //the current time
或者,您可以忽略此问题的 endDate 部分并直接使用 startDate
var startDate = moment().subtract(1, 'days'); //one day before the current time
最后,如果您需要以某种方式对其进行格式化,您可以应用格式化规则,例如:
moment().subtract(1,'days').format('YYYY-MM-DD h:mm:ss a')
使用不带参数的格式,它会为您提供 ISO 8601 格式
moment().subtract(1,'days').format() //eg: "2015-04-04T01:53:26-05:00"
【讨论】:
var startdate = moment.utc(moment().subtract(1, 'days').format("MM/DD/YYYY"), "MM/DD/YYYY").valueOf(); // to unix time stamp in msvar enddate = moment.utc(moment().format("MM/DD/YYYY"), "MM/DD/YYYY").add('d', 1).subtract('s', 1).valueOf(); // to unix time stamp in ms
这对我有用,尽管我从未在文档中找到它。应该已经发布,但它有效。
试试:
moment(currentTime).format("hh:mm"));or
var currentTime = moment();
console.log("CURRENT TIME: " + moment(currentTime).format("hh:mm"));
【讨论】:
您可以直接调用函数momentInstance.valueOf(),它会返回类似于原生java脚本中的date.getTime()的时间数值。
【讨论】:
moment().valueOf() 的输出与new Date().getTime() 完全相同
我认为你正在寻找的是类似的东西
moment(endDate).unix()
返回类似: 1435161240
你甚至可以使用计算从现在开始的时间
moment(endDate).fromNow()
返回类似: “2天前”
【讨论】: