ToDo앱을 만드는데 두 날짜를 비교하여 어떤 날짜가 전인지 후인지 판단해야되는 기능을 구현해야했다.
엄청난 고민이 필요했다.
떠오른 아이디어로는
1) 날짜를 숫자로 변경하여 단순 비교
2) 날짜를 문자형으로 변경하여 비교
우선 간단해 보이는 1번으로 진행해보았다.
1) timestamp으로 변환하여 비교하면 간단하게 구현 가능하다.
if (startDate.microsecondsSinceEpoch < EndDate.microsecondsSinceEpoch)
{ print("1");
} else if (startDate.microsecondsSinceEpoch > EndDate.microsecondsSinceEpoch)
{ print("2");}
두개의 날짜를 각각 timestamp으로 변환한다. 변환하면 자동으로 int로 변형되어 단순비교가 가능하다.
2) DateTime -> Datefomat -> compareTo
String startDate2 = DateFormat("yyyy-MM-dd").format(startDate);
String EndDate2 = DateFormat("yyyy-MM-dd").format(EndDate);
int result = startDate2.compareTo(EndDate2);
print(result);
// startDate가 EndDate보다 앞일자면 -1을 뒤일자면 1을 반환한다.
역시 1번이 좋아보인다.
'코딩 > Flutter' 카테고리의 다른 글
[flutter] 39... 영역 지정하여 오버플로우 방지하기 TextOverflow (overflow, maxLines) (0) | 2023.02.17 |
---|---|
[flutter] 38... AlertDialog에 Hero 적용시켜보기,, (PageRouteBuilder,Navigator) (0) | 2023.02.16 |
[flutter] 36... AnimatedContainer 사용법 (ClipRect, Wrap) (0) | 2023.02.08 |
[flutter] 35... 디바이스 화면 회전 금지하기(SystemChrome, DeviceOrientation) (0) | 2023.02.03 |
[flutter] 34... Get.snackbar 다중 알림 방지 (0) | 2023.02.02 |