moment.js는 현재 시간을 밀리 초 단위로 얻습니까?


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

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

이 솔루션은 작동하고 테스트하지만 내 코드를 사용하는 대신 순간 API를 사용하고 싶습니다.

이 코드는 밀리 초 단위로 TODAYS 시간을 반환합니다. 밀리 초 안에 다른 함수를 호출해야합니다 ... 시대를 사용할 수 없습니다. 밀리 초 형식의 오늘 시간이 필요합니다. 9:00 am = 3.24e + 7 밀리 초 9:00 pm = 6.84e + 7 밀리 초.


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

이것은 epoch 이후입니다 .... epoch가 아닌 밀리 초 단위의 오늘 시간이 필요합니다.

당신 맞아요,하지만 귀하의 질문에 상태 당신은 ... 시간 (밀리 초)을 원하는
IronAces

2
가장 쉬운 것은 아마도 지금 의 epoch 에서 오늘 시작
Geert-Jan

답변:



38

이 링크 http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/ 참조

valueOf() 당신이 찾고있는 기능입니다.

내 답변 편집 (OP는 epoch 이후가 아닌 오늘의 밀리 초를 원함)

milliseconds()기능을 원하거나 경로를 갈 수 있습니다.moment().valueOf()


1
감사합니다. 그러나 그것은 내가 요구하는 것이 아닙니다. 그것은 epoch year 이후입니다 ... 오늘날 현재 시간은 밀리 초입니다.

@ code20 아, 알겠습니다. Amy가 위에서 대답 한 것 같습니다. milliseconds () 함수를 찾거나 빈 순간을 만들고 valueOf 함수를 사용할 수 있습니다. 위의 답변을 수정했습니다. momentjs는 거기에 대한 정말 좋은 문서를 가지고 있으며 꽤 체계적입니다. 당신은 그것으로 꽤 깔끔한 일을 할 수 있습니다. 기회가된다면 한번 살펴보세요!
제임스

Amys 답변이 잘못되었습니다. 그것은 시간 0-999 밀리 초이며, 많은 양의 문서를 읽고 검색했습니다. 정말 이걸 알아낼 수 없습니다.

@ code20 오늘 날짜의 밀리 초를 찾고 계십니까? 조금 혼란 스러워요. 밀리 초 epoch 시간을 사용할 수 없습니까?
James

1
@ code20 당신은 정말로 당신이 원하는 것에 대해 더 구체적이어야합니다. 지금까지 epoch 이후의 ms 또는 요청한 "현재 시간의 ms"에 대한 응답을 받았습니다. 자정 이후의 밀리 초는 상당히 다릅니다.
에이미

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

format () 문서에 따라 Unix Millisecond Timestamp를 반환합니다 .


8
주의하세요. 타임 스탬프를 밀리 초 단위로 반환하지만 문자열로 숫자를 반환하는 moment (). valueOf ()를
Julien

10

같은 날 오전 12시에서 현재 타임 스탬프를 뺄 수 있습니다.

현재 타임 스탬프 사용 :

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 ()를 moment에 추가하면 milliseconds () 등으로 쉽게 전환 할 수 있습니다!


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.