CupertinoDatePicker에서 분단위를 지정하는 경우 아래와 같이 작성하게 되면
CupertinoDatePicker(
initialDateTime: DateTime.now(),
minimumDate: DateTime.now().subtract(Duration(minutes: 1)),
maximumDate: DateTime.utc(2025, 12, 31),
minuteInterval: 5,
onDateTimeChanged: (dateTime) {
_temp = dateTime;
},
),
아래와 같은 오류가 발생합니다.
'this.initialDateTime.minute % minuteInterval == 0': initial minute is not divisible by minute interval)
CupertinoDatePicker minuteInterval(분 단위)를 지정하는 경우 initialDateTime(초기 시간)이 minuteInterval(분 단위) 배수가 아닌 경우에 이 오류가 발생하는데요.
아래처럼 초기 시간을 분 단위로 딱 떨어지게 나눠서 대입해주면 됩니다.
DateTime initialDateTime = DateTime.now();
if (initialDateTime.minute % 5 != 0) {
int initialMinute = 5 - initialDateTime.minute % 5;
initialDateTime = initialDateTime.add(Duration(minutes: initialMinute));
}
...
CupertinoDatePicker(
initialDateTime: initialDateTime,
minimumDate: DateTime.now().subtract(Duration(minutes: 1)),
maximumDate: DateTime.utc(2025, 12, 31),
minuteInterval: 5,
onDateTimeChanged: (dateTime) {
_temp = dateTime;
},
),