생일부터 나이 계산 노트

7760 단어 Fluttertech

이 글의 내용


현재 토끼의 건강관리 앱을 개발해 생일부터 현재 나이를 계산해 보여주려고 하는데, 계산 방법을 몰라서 자신이 쓰는 노트로 여기에 적었다.
아직 초보자의 에센스가 드러나지 않아 공부 부족으로 구설에 오르는 부분도 많을 것이다.
따라서 오류나 수정점이 있다면 지적해 주세요!

삽입된 라이브러리

  • intl
  • https://pub.dev/packages/intl#-installing-tab-

    사이트 축소판 그림


  • Flutter: 두 날짜의 차이를 발견

  • 생년월일부터 나이까지 간단하게 계산하는 공식
  • https://qiita.com/aqril_1132/items/46e824541e657190ef3e

    화면의 움직임



    해당 위치의 코드


    모델과view로 파일을 분리해서Provider를 사용합니다.
    model
      String birthday;
      int age;
      
      
      ///日付選択
      Future<void> selectDate(BuildContext context) async {
        final DateTime selected = await showDatePicker(
          context: context,
          locale: const Locale('ja'),
          initialDate: DateTime.now(),
          firstDate: DateTime(DateTime(2006).year),
          lastDate: DateTime.now(),
          builder: (BuildContext context, Widget widget) {
            return widget;
          },
        );
        final selectedBirthDay = selected;
        final today = DateTime.now();
    
        if (selected != null) {
          ///今日の日付から選択した誕生日の年数のみ引く
          this.age = today.year - selectedBirthDay.year;
          this.birthday = (DateFormat.yMMMd('ja')).format(selected);
        }
        notifyListeners();
      }
    
    
    
        body: Consumer<AddRabbitModel>(
          builder: (context, model, child) {
            return SingleChildScrollView(
              child: Stack(
                children: [
               ----省略----
                          SizedBox(
                            width: double.infinity,
                            child: FlatButton(
                              onPressed: () async {
                                await model.selectDate(context);
                              },
                              child: Row(
                                mainAxisAlignment: MainAxisAlignment.center,
                                children: [
                                  FaIcon(FontAwesomeIcons.calendarAlt),
                                  Padding(
                                    padding: const EdgeInsets.all(8.0),
                                    child: model.birthday != null
                                        ? Text(
                                            '誕生日${model.birthday}: 年齢${model.age}歳')
                                        : Text('タップして誕生日を選択'),
                                  ),
                                ],
                              ),
                            ),
                          ),
    		           ----省略----
    

    후기


    이번에는 플루터에서 생일부터 나이를 계산할 때의 계산 방법을 만들었다.
    출력과 동시에 배운 것을 보낼 수 있도록 열심히 공부하겠습니다.

    좋은 웹페이지 즐겨찾기