티스토리 뷰

728x90

Dart에서 날짜로 된 문자열을 DateTime 객체로 변환할 수 있습니다.

 

다양한 예제와 함께 알아보겠습니다.

 

DateTime.parse()로 DateTime 변환

아래 예제는 날짜 문자열을 DateTime.parse()로 파싱하여 DateTime 객체로 변환합니다.

결과를 출력해보면 올바르게 변환된 것을 볼 수 있습니다.

void main() {
  String dateString = '2023-03-05';
  DateTime date = DateTime.parse(dateString);

  print(date); // 2023-03-05 00:00:00.000
}

DateFormat을 이용하여 문자열 파싱 & 변환

기본적인 형식의 날짜 문자열이 아니고, 특정 국가에서만 사용되거나 독특한 형식의 날짜 문자열인 경우, DateTime.parse()로 파싱하지 못할 수 있습니다.

 

이런 경우, 아래와 같이 DateFormat을 이용하여 파싱 형식을 지정하고 parse() 함수로 문자열을 파싱하여 DateTime 객체로 변환할 수 있습니다.

import 'package:intl/intl.dart';

void main() {
  String dateString = '2023-03-05';
  DateFormat dateFormat = DateFormat('yyyy-MM-dd');
  DateTime date = dateFormat.parse(dateString);

  print(date); // 2023-03-05 00:00:00.000
}

 

Split으로 날짜 파싱 및 변환

split() 함수로 날짜 문자열의 년, 월, 일을 분리하고 각각 int로 파싱하여 다시 DateTime 객체를 만드는 방법이 있습니다.

DateTime.parse()나 DateFormat.parse() 같은 함수가 없다면 이렇게 구현해야겠지만, 굳이 이 방법으로 파싱할 필요는 없습니다.

void main() {
  String dateString = '2023-03-05';
  List<String> dateParts = dateString.split('-');
  int year = int.parse(dateParts[0]);
  int month = int.parse(dateParts[1]);
  int day = int.parse(dateParts[2]);

  DateTime date = DateTime(year, month, day);

  print(date); // 2023-03-05 00:00:00.000
}
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함