Firebase 시간 변환하기(Dart 시간 변환, DateTime, fromMillisecondsSinceEpoch)

Angela Jeong·2024년 2월 7일
0

Flutter Troubleshooting

목록 보기
2/19
post-thumbnail

Firebase에서 시간을 가져왔는데 알 수 없는 이상한 숫자들이 반환되었다.
찾아보니 Firebase는 밀리초로 표현된 시간을 반환되기 때문에 Dart에서 사용하려면 DateTime을 활용해 Dart의 DateTime 객체로 변환해줘야 한다고 한다.


  1. DateTime.fromMillisecondsSinceEpoch
int firebaseTime = 1612690800000;
DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(firebaseTime);
  • 밀리초 단위로 표현된 정수 값을 입력으로 받아들여 DateTime 객체를 생성한다.
  • Firebase는 밀리초로 반환되기 때문에 이 메서드를 사용해야 DateTime 객체로 변환이 가능하다.
  • Firebase 뿐만 아니라 외부 소스에서 가져온 Unix 시간을 변환할 때 많이 쓰인다!



  1. DateTime.fromMicrosecondsSinceEpoch
DateTime DateTime.
fromMicrosecondsSinceEpoch(int microsecondsSinceEpoch, { bool isUtc = false })
  • 마이크로 단위로 표현된 정수 값을 입력을 받아들여 DateTime 객체를 생성한다.
  • 보통 fromMillisecondsSinceEpoch 메서드를 많이 쓴다고 한다.


*참고로 DateTime은 intl 라이브러리를 추가해야 사용이 가능하다.
https://pub.dev/packages/intl

DateTime 사용예시)

var now = new DateTime.now();
  String formatDate = DateFormat('yy/MM/dd - HH:mm:ss').format(now);

0개의 댓글