[flutter] 플러터 DatePicker를 사용한 날짜 범위 설정

Flutter 애플리케이션에서 날짜를 선택할 때 종종 날짜 범위를 설정해야 합니다. 여기서는 Flutter의 showDatePicker를 사용하여 사용자가 날짜를 선택하고 특정 날짜 범위 내에서만 선택할 수 있도록 하는 방법을 살펴보겠습니다.

1. DatePicker 호출 및 범위 설정

Future<void> _selectDate(BuildContext context) async {
  final DateTime picked = await showDatePicker(
    context: context,
    initialDate: selectedDate,
    firstDate: DateTime.now(),
    lastDate: DateTime(2030),
  );
  if (picked != null && picked != selectedDate)
    setState(() {
      selectedDate = picked;
    });
}

위의 예제 코드에서 showDatePicker를 통해 DatePicker를 호출하고, firstDatelastDate를 사용하여 선택 가능한 날짜 범위를 설정할 수 있습니다. 이 경우 firstDate는 현재 날짜로, lastDate는 2030년으로 설정되어 있습니다.

2. DatePicker 호출 및 날짜 형식 지정

또 다른 사용 예시로, DatePicker 호출 시 날짜의 형식을 지정하는 방법을 살펴보겠습니다.

Future<void> _selectDate(BuildContext context) async {
  final DateTime picked = await showDatePicker(
    context: context,
    initialDate: selectedDate,
    firstDate: DateTime(2021),
    lastDate: DateTime(2030),
    builder: (BuildContext context, Widget child) {
      return Theme(
        data: ThemeData.dark(),
        child: child,
      );
    },
  );
  if (picked != null && picked != selectedDate)
    setState(() {
      selectedDate = picked;
    });
}

위의 코드에서, builder를 사용하여 DatePicker의 테마를 dark로 설정하고 있습니다.

요약

위의 예제들을 참고하여 Flutter 애플리케이션에서 showDatePicker를 사용하여 날짜 범위를 설정하는 방법을 살펴보았습니다. 필요에 따라 추가적으로 다양한 옵션을 이용하여 DatePicker를 커스터마이징할 수 있습니다.

더 많은 정보를 원하시거나 다른 Flutter 관련 질문이 있으시면 Flutter 공식 문서를 참고해보시기 바랍니다.