itsource

Mongodb에서 ISO 날짜 형식 지정

mycopycode 2023. 7. 16. 13:19
반응형

Mongodb에서 ISO 날짜 형식 지정

Mongodb에서 저는 날짜와 시간을 ISO Date 형식으로 저장하고 있습니다.

이렇게 생겼네요.

ISODate("2012-07-14T01:00:00+01:00")

nodejs/javascript를 사용하여 시간 구성 요소를 표시하려면 어떻게 해야 합니까?

Time : 01:00

나는 이것을 더 쉽게 만들기 위해 momentjs를 사용하고 있지만, 내가 알 수 있는 바로는 momentjs가 ISODate 형식을 지원하는 것 같습니다.

도와주셔서 감사합니다.

JavaScript의 Date 개체는 ISO 날짜 형식을 지원하므로 날짜 문자열에 액세스할 수 있는 경우 다음과 같은 작업을 수행할 수 있습니다.

> foo = new Date("2012-07-14T01:00:00+01:00")
Sat, 14 Jul 2012 00:00:00 GMT
> foo.toTimeString()
'17:00:00 GMT-0700 (MST)'

시간 문자열에 초와 시간대를 지정하지 않으려면 Date 개체에서 getHours() 및 getMinutes() 메서드를 호출하고 직접 시간 형식을 지정할 수 있습니다.

MongoDB의 ISODate()는 JavaScript 날짜 객체를 래핑하여 ISO 날짜 문자열 작업을 쉽게 하는 도우미 기능입니다.

다음과 같은 일반 JS 날짜 작업과 동일한 방법을 모두 사용할 수 있습니다.

ISODate("2012-07-14T01:00:00+01:00").toLocaleTimeString()

// Note that getHours() and getMinutes() do not include leading 0s for single digit #s
ISODate("2012-07-14T01:00:00+01:00").getHours()
ISODate("2012-07-14T01:00:00+01:00").getMinutes()

당신은 mongo 쿼리를 이렇게 사용할 수 있습니다.

yearMonthDayhms: { $dateToString: { format: "%Y-%m-%d-%H-%M-%S", date: {$subtract:["$cdt",14400000]}}}

HourMinute: { $dateToString: { format: "%H-%M-%S", date: {$subtract:["$cdt",14400000]}}}

enter image description here

// from MongoDate object to Javascript Date object

var MongoDate = {sec: 1493016016, usec: 650000};
var dt = new Date("1970-01-01T00:00:00+00:00");
    dt.setSeconds(MongoDate.sec);

언급URL : https://stackoverflow.com/questions/11486779/formatting-isodate-from-mongodb

반응형