moment.js lấy thời gian hiện tại tính bằng mili giây?


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

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

Giải pháp này hoạt động, hãy thử nghiệm nó, nhưng tôi chỉ muốn sử dụng api thời điểm thay vì sử dụng mã của riêng tôi.

Mã này trả về thời gian TODAYS tính bằng mili giây. Tôi cần nó để gọi một hàm khác trong mili giây ... Không thể sử dụng kỷ nguyên. Cần thời gian của ngày hôm nay được tính bằng mili giây. 9:00 sáng = 3,24e + 7 mili giây 9:00 tối = 6,84e + 7 mili giây.


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

đây là kể từ kỷ nguyên .... Tôi cần thời gian hàng ngày tính bằng mili giây chứ không phải kỷ nguyên.

Bạn nói đúng, nhưng câu hỏi tiểu bang của bạn, bạn muốn thời gian trong mili giây ...
IronAces

2
Dễ dàng nhất có lẽ là nhận được sự khác biệt của kỷ nguyên bây giờ trừ kỷ nguyên bắt đầu của ngày hôm nay
Geert-Jan

Câu trả lời:



38

Xem liên kết này http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

valueOf() là chức năng bạn đang tìm kiếm.

Chỉnh sửa câu trả lời của tôi (OP muốn mili giây của ngày hôm nay, không phải kể từ kỷ nguyên)

Bạn muốn milliseconds()chức năng HOẶC bạn có thể đi theo con đường củamoment().valueOf()


1
Cảm ơn nhưng đó không phải là những gì tôi đang hỏi, đó là kể từ năm kỷ nguyên ... ngày nay thời gian tính bằng mili giây.

@ code20 ahh, gotcha. Có vẻ như Amy đã trả lời nó ở trên. Bạn đang tìm kiếm hàm mili giây () hoặc bạn có thể tạo một khoảnh khắc trống và sử dụng hàm valueOf. Tôi đã sửa lại câu trả lời của mình ở trên. momentjs có tài liệu thực sự tốt về những thứ đó và nó được tổ chức khá chặt chẽ. Bạn có thể làm một số công việc khá gọn gàng với nó. Bạn nên xem qua nó nếu bạn có cơ hội!
James

Câu trả lời của Amys là không chính xác. đó là thời gian 0-999 mili giây, tôi đã đọc một lượng lớn tài liệu và tìm kiếm. Thực sự không thể tìm ra điều này.

@ code20 Bạn đang muốn xem số mili giây của ngày thường? Tôi có chút bối rối. Bạn không thể sử dụng thời gian kỷ nguyên mili giây?
James

1
@ code20 bạn thực sự cần phải cụ thể hơn về những gì bạn muốn. Cho đến nay, bạn đã nhận được câu trả lời cho mili giây kể từ kỷ nguyên, hoặc "mili giây hiện tại", là những gì bạn yêu cầu. Mili giây kể từ nửa đêm là khá khác nhau.
Amy

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

trả về Dấu thời gian một phần nghìn giây của Unix theo tài liệu format () .


8
Hãy cẩn thận, nó trả lại dấu thời gian trong một phần nghìn giây mà là một String, khoảnh khắc prefere () valueOf () trả lại một số.
Julien

10

Bạn có thể trừ dấu thời gian hiện tại cho 12 giờ sáng cùng ngày.

Sử dụng dấu thời gian hiện tại:

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

Ngày dùng tùy ý:

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

0

Bạn chỉ có thể lấy các thành phần thời gian riêng lẻ và tính tổng. Có vẻ như bạn đang mong đợi Moment đã có tính năng này được đóng gói gọn gàng cho bạn, nhưng không phải vậy. Tôi nghi ngờ đó là thứ mà mọi người rất thường xuyên có nhu cầu.

Thí dụ:

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

Vì chủ đề này là chủ đề đầu tiên tôi tìm thấy từ Google, một cách chính xác và lười biếng mà tôi đã tìm thấy là:

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

bây giờ chỉ cần thêm một số nguyên mẫu (chẳng hạn như toDuration ()) / .asMilliseconds () vào khoảnh khắc và bạn có thể dễ dàng chuyển sang mili giây () hoặc bất cứ điều gì!


-4

Để nhận mili giây của thời gian hiện tại, hãy sử dụng http://momentjs.com/docs/#/get-set/millisecond/

var timeInMilliseconds = moment().milliseconds();

đây là mili giây thời gian hiện nay 0-999 Tôi cần (giờ phút giây) chuyển đổi sang mili giây .....
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.