앱 만들기 프로젝트/Flutter

Flutter - 5.3 Date Format

지나가는물리학부생 2024. 11. 20. 00:07
반응형

이번에는 시간이 다 줄어들면 Pomodoros밑에 있는 숫자가 하나씩 커지도록 할 것이다.

1.

  void onTick(Timer timer) {
    // 0초가 되면...
    if (totalSeconds == 0) {
      // Pomodoro 숫자 증가 + 초기화
      setState(() {
        totalPomodoros = totalPomodoros + 1;
        isRunning = false;
        totalSeconds = twentyFiveMinutes;
      });
      timer.cancel();
    } else {
      // state 변경
      setState(() {
        totalSeconds = totalSeconds - 1;
      });
    }
  }

totalSeconds가 0이 되면 Pomodoros 숫자를 1 증가시키고, 카운트다운을 멈춘다.

2.

  // 초를 (분 : 초) 로 나오도록 변경하는 함수.
  String format(int seconds) {
    var duration = Duration(seconds: seconds);
    return duration.toString().split(".").first.substring(2, 7);
  }

지금까지 25분을 '1500초'로 표기했다. 그래서 이를 '분:초'로 나오도록 하는 함수이다.
var duration = Duration(seconds: seconds);
이렇게만 한다면, 0:24:43.000000 이렇게 나온다.
그래서...
    1) toString()을 이용해서 string으로 변환한다.
    2) split.(".")을 이용해서 ' 0:24:43 '과 '000000'을 분리한다.(list가 된다.) -> [0:24:43, 000000]
    3) .first를 이용해서 list의 첫번째 인수를 가져온다. -> 0:24:36
    4) 2~7번째 string만 가져온다. -> 24:31
    끝!

단순하다. Duration을 이용하면 이렇게 된다.
물론, 날짜를 가져오는 것도 있다.

반응형

'앱 만들기 프로젝트 > Flutter' 카테고리의 다른 글

Flutter - 6.1 AppBar  (0) 2024.11.20
Flutter - 5.4 Code Challenge  (0) 2024.11.20
Flutter - 5.2 Pause Play  (0) 2024.11.19
Flutter - 5.1 Timer  (0) 2024.11.18
Flutter - 5.0 User Interface  (0) 2024.11.13