mongoDB 로컬 시간 설정

csexpert·2021년 2월 4일
0
post-thumbnail

mongoDB에서 Date type는 UTC를 표준으로 사용해서, 한국 시간을 친절하게도 변환해준다. 그래서.. 한국 시간을 넣고, 다시 받아오면 9시간 전으로 돌아간다.
필자는 flutter로 앱을 개발하고 있어서, dart에서는 이렇게 변환하면 된다

DateTime dateTime = DateTime.now().toLocal();

추가적으로, dart에서 String에 저장된 DateTime을 가져오려면,

String startTime = "2021-01-01T15:00:00.000+00:00";
DateTime dateTime = DateTime.parse(startTime);

이렇게 parse를 사용하면 된다. 알쓸신잡 느낌이다.

응용해서 사용해보면,

String startTime = "2021-02-02T15:00:00.000+00:00";
DateTime dateTime = DateTime.parse(startTime).toLocal();

이렇게 할 수 있을 것이고, dateTime을 출력하면 2021년 2월 3일 00시 00분이 나온다. 며칠동안 시간이 전날로 가서 바꿔야지 생각만 하다가 오늘에서야 찾아보고 바꿨다.

다른 블로그에서

function getCurrentDate(){
    var date = new Date();
    var year = date.getFullYear();
    var month = date.getMonth();
    var today = date.getDate();
    var hours = date.getHours();
    var minutes = date.getMinutes();
    var seconds = date.getSeconds();
    var milliseconds = date.getMilliseconds();
    return new Date(Date.UTC(year, month, today, hours, minutes, seconds, milliseconds));
}
출처: https://2step-hyun.tistory.com/50

이렇게 쓸 수 있다고 했는데, 필자는 이렇게 하지 않고 toLocal로 간단하게 바꿀 수 있었다. 안된다면 저 함수를 사용해보면 될 것 같다.

profile
공대생입니다.

0개의 댓글