moment.js รับเวลาปัจจุบันเป็นมิลลิวินาที?


93
var timeArr = moment().format('HH:mm:ss').split(':');

var timeInMilliseconds = (timeArr[0] * 3600000) + (timeArr[1] * 60000);

วิธีนี้ใช้งานได้ทดสอบ แต่ฉันอยากใช้ moment api แทนที่จะใช้รหัสของฉัน

รหัสนี้ส่งคืนเวลา TODAYS เป็นมิลลิวินาที ฉันต้องการมันเพื่อเรียกใช้ฟังก์ชันอื่นในมิลลิวินาที ... ไม่สามารถใช้ยุคนี้ได้ ต้องการเวลาของวันนี้ในหน่วยมิลลิวินาที 9.00 น. = 3.24e + 7 มิลลิวินาที 21.00 น. = 6.84e + 7 มิลลิวินาที


9
var timeInMilliseconds = moment().valueOf();ดูjsfiddle.net/rc1s2ek0
IronAces

นี่คือตั้งแต่ยุค .... ฉันต้องการเวลาของวันนี้เป็นมิลลิวินาทีไม่ใช่ยุค

คุณพูดถูก แต่คำถามของคุณระบุว่าคุณต้องการเวลาเป็นมิลลิวินาที ...
IronAces

2
ง่ายที่สุดคืออาจจะได้รับความแตกต่างของยุคปัจจุบันลบยุคของวันนี้
Geert-Jan

คำตอบ:


153

จากเอกสาร: http://momentjs.com/docs/#/parsing/unix-timestamp-milliseconds/

ดังนั้นใช้อย่างใดอย่างหนึ่งต่อไปนี้:


moment(...).valueOf()

เพื่อแยกวิเคราะห์วันที่ที่มีอยู่ก่อนหน้าและแปลงการแสดงเป็นการประทับเวลายูนิกซ์


moment().valueOf()

สำหรับการประทับเวลาของยูนิกซ์ปัจจุบัน


38

ดูลิงค์นี้http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

valueOf() คือฟังก์ชันที่คุณกำลังมองหา

การแก้ไขคำตอบของฉัน (OP ต้องการมิลลิวินาทีของวันนี้ไม่ใช่ตั้งแต่ยุค)

คุณต้องการmilliseconds()ฟังก์ชั่นหรือคุณสามารถไปเส้นทางของmoment().valueOf()


1
ขอบคุณ แต่นั่นไม่ใช่สิ่งที่ฉันขอนั่นคือตั้งแต่ปีที่ผ่านมา ... วันนี้เวลาปัจจุบันเป็นมิลลิวินาที

@ code20 อ่า gotcha. ดูเหมือนว่า Amy จะตอบไว้ข้างต้น คุณกำลังมองหาฟังก์ชันมิลลิวินาที () หรือคุณสามารถสร้างช่วงเวลาว่างและใช้ฟังก์ชัน valueOf ฉันแก้ไขคำตอบข้างต้นแล้ว momentjs มีเอกสารประกอบที่ดีมากและมีการจัดระเบียบค่อนข้างดี คุณสามารถทำสิ่งที่สวย ๆ ได้ด้วย คุณควรมองข้ามมันถ้าคุณมีโอกาส!
James

คำตอบของ Amys ไม่ถูกต้อง นั่นคือเวลา 0-999 มิลลิวินาทีฉันได้อ่านเอกสารจำนวนมากและค้นหา คิดไม่ออกจริงๆ

@ code20 คุณต้องการรับมิลลิวินาทีของวันนี้หรือไม่? ฉันสับสนเล็กน้อย คุณไม่สามารถใช้เวลายุคมิลลิวินาทีได้หรือไม่?
James

1
@ code20 คุณจำเป็นต้องเจาะจงมากขึ้นในสิ่งที่คุณต้องการ จนถึงตอนนี้คุณได้รับคำตอบเป็นมิลลิวินาทีตั้งแต่ยุคหรือ "มิลลิวินาทีของเวลาปัจจุบัน" ซึ่งเป็นสิ่งที่คุณร้องขอ มิลลิวินาทีตั้งแต่เที่ยงคืนนั้นแตกต่างกันมาก
Amy

21
var timeArr = moment().format('x');

ส่งกลับ Unix มิลลิวินาทีประทับเวลาตามรูปแบบ () เอกสาร


8
โปรดระวังมันจะส่งคืนการประทับเวลาในหน่วยมิลลิวินาที แต่เป็นสตริงควรเป็นช่วงเวลาที่ดีกว่า () valueOf () ที่ส่งคืนตัวเลข
Julien

10

คุณสามารถลบการประทับเวลาปัจจุบันจาก 00.00 น. ของวันเดียวกันได้

การใช้การประทับเวลาปัจจุบัน:

moment().valueOf() - moment().startOf('day').valueOf()

ใช้วันโดยพลการ:

moment(someDate).valueOf() - moment(someDate).startOf('day').valueOf()

0

คุณสามารถรับองค์ประกอบเวลาแต่ละรายการและคำนวณผลรวมได้ ดูเหมือนว่าคุณจะคาดหวังว่า 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>


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 () ลงในช่วงเวลาและคุณสามารถเปลี่ยนเป็นมิลลิวินาที () หรืออะไรก็ได้!


-4

ในการรับมิลลิวินาทีของเวลาปัจจุบันให้ใช้http://momentjs.com/docs/#/get-set/millisecond/

var timeInMilliseconds = moment().milliseconds();

นี่คือมิลลิวินาที 0-999 ฉันต้องการเวลาของวันนี้ (ชม. นาทีวินาที) แปลงเป็นมิลลิวินาที .....
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.