[flutter] 플러터 DatePicker에서 선택한 날짜의 요일 가져오기

플러터 앱을 개발하면서 DatePicker를 사용하여 사용자에게 날짜를 선택하도록 하는 기능을 구현해야 할 때가 있습니다. 선택한 날짜에서 요일을 가져오는 것은 종종 필요한 작업입니다. 이번 글에서는 Flutter에서 DatePicker를 통해 선택한 날짜의 요일을 가져오는 방법을 알아보겠습니다.

1. DatePicker로 날짜 선택하기

우선, Flutter 앱에 DatePicker를 추가하여 사용자가 날짜를 선택할 수 있도록 해야 합니다. 아래 코드는 DatePicker를 사용하여 날짜를 선택하는 예제입니다.

import 'package:flutter/material.dart';

class DatePickerScreen extends StatefulWidget {
  @override
  _DatePickerScreenState createState() => _DatePickerScreenState();
}

class _DatePickerScreenState extends State<DatePickerScreen> {
  DateTime _selectedDate = DateTime.now();
  
  Future<void> _selectDate(BuildContext context) async {
    final DateTime picked = await showDatePicker(
      context: context,
      initialDate: _selectedDate,
      firstDate: DateTime(2015, 8),
      lastDate: DateTime(2101));
    if (picked != null && picked != _selectedDate)
      setState(() {
        _selectedDate = picked;
      });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('날짜 선택'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () => _selectDate(context),
          child: Text('날짜 선택'),
        ),
      ),
    );
  }
}

2. 선택한 날짜의 요일 가져오기

선택한 날짜의 요일을 가져오려면 DateTime의 weekday 속성을 사용합니다. weekday는 1부터 7까지의 값을 갖으며 각각 월요일부터 일요일까지를 나타냅니다. 아래 코드는 선택한 날짜의 요일을 가져오는 예제입니다.

String getDayOfWeek(DateTime date) {
  List<String> days = ['월', '화', '수', '목', '금', '토', '일'];
  return days[date.weekday - 1];
}

getDayOfWeek 함수를 사용하여 선택한 날짜의 요일을 가져올 수 있습니다.

String dayOfWeek = getDayOfWeek(_selectedDate);
print('선택한 날짜의 요일: $dayOfWeek요일');

이제 사용자가 DatePicker로 선택한 날짜의 요일을 가져올 수 있습니다.

요약

Flutter에서 DatePicker를 통해 선택한 날짜의 요일을 가져오는 방법을 알아보았습니다. 선택한 날짜의 weekday 속성을 활용하여 간단하게 요일을 가져올 수 있습니다. DatePicker를 사용하는 다양한 상황에서 선택한 날짜를 활용할 수 있도록 이 기능을 활용해보시기 바랍니다.

더 많은 정보를 원하시면 Flutter 공식 문서를 참조하세요.