var timeArr = moment().format('HH:mm:ss').split(':');
var timeInMilliseconds = (timeArr[0] * 3600000) + (timeArr[1] * 60000);
这个解决方案有效,测试它,但我只是使用时刻api而不是使用我自己的代码。
此代码以毫秒为单位返回TODAYS时间。我需要它在几毫秒内调用另一个函数...不能使用纪元。今天需要以毫秒为单位形成时间。上午9:00 = 3.24e + 7毫秒9:00 pm = 6.84e + 7毫秒。
答案 0 :(得分:88)
来自文档: http://momentjs.com/docs/#/parsing/unix-timestamp-milliseconds/
这样:
moment(...).valueOf()
或
moment().valueOf()
答案 1 :(得分:30)
请参阅此链接http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/
valueOf()
是您正在寻找的功能。
编辑我的答案(OP想要今天的毫秒,而不是纪元)
您需要milliseconds()
功能,或者您可以选择moment().valueOf()
答案 2 :(得分:13)
var timeArr = moment().format('x');
根据format() documentation返回Unix毫秒时间戳。
答案 3 :(得分:3)
您可以从同一天的上午12点开始减去当前时间戳。
使用当前时间戳:
moment().valueOf() - moment().startOf('day').valueOf()
使用任意日期:
moment(someDate).valueOf() - moment(someDate).startOf('day').valueOf()
答案 4 :(得分:0)
要获取当前时间的毫秒数,请使用http://momentjs.com/docs/#/get-set/millisecond/
var timeInMilliseconds = moment().milliseconds();
答案 5 :(得分:0)
由于此线程是我发现的第一个Google线程,因此我发现的一种准确而懒惰的方法是:
const momentObject = moment().toObject();
// date doesn't exist with duration, but day does so use it instead
// -1 because moment start from date 1, but a duration start from 0
const durationCompatibleObject = { ... momentObject, day: momentObject.date - 1 };
delete durationCompatibleObject.date;
const yourDuration = moment.duration(durationCompatibleObject);
// yourDuration.asMilliseconds()
现在只需添加一些原型(例如toDuration())/ .asMilliseconds()即可,您可以轻松切换到milliseconds()或其他任何功能!
答案 6 :(得分:-1)
您可以获取各个时间组件并计算总数。您似乎期待Moment已经为您整齐地打包了这个功能,但事实并非如此。我怀疑这是人们经常需要的东西。
示例:
var m = moment();
var ms = m.milliseconds() + 1000 * (m.seconds() + 60 * (m.minutes() + 60 * m.hours()));
console.log(ms);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>