본문 바로가기

Dead Code/Flutter_Dart

[플러터] 엑셀 날짜를 DATETIME으로 변경

 

GOOGLE SHEET에서 날짜 값을 불러올 때, 이를 DART 형식으로 변경하는 함수이다.

출처를 꼭 밝혀드리고 싶었는데, 까먹었다. STACKOVERFLOW의 천재 외국인께 감사.

 

String timeFromExcel(String mydate) {
  const gsDateBase = 2209161600 / 86400;
  const gsDateFactor = 86400000;
  var dateformat = DateFormat('yy-MM-dd');
  final date = double.tryParse(mydate);

  if (date == null) return '-';
  final millis = (date - gsDateBase) * gsDateFactor;
  var date2 = DateTime.fromMillisecondsSinceEpoch(millis.toInt());
  return dateformat.format(date2).toString();
}