티스토리 뷰

반응형

DateTime extention 으로 사용

 

DateTime.weekday

DateTime.monday = 1

DateTime.tuesday = 2

DateTime.wednesday = 3

DateTime.thursday = 4

DateTime.friday = 5

DateTime.saturday= 6

DateTime.sunday = 7

 

 

 

한주의 시작이 월요일 이라면

extension DateTimeExtension on DateTime {
  int get weekOfMonth {
    var date = this;
    final firstDayOfTheMonth = DateTime(date.year, date.month, 1);
    int sum = firstDayOfTheMonth.weekday - 1 + date.day;
    if (sum % 7 == 0) {
      return sum ~/ 7;
    } else {
      return sum ~/ 7 + 1;
    }
  }
}

 

한주의 시작이 일요일 이라면, (sum에서 -1 부분을 빼버리면 됨)

extension DateTimeExtension on DateTime {
  int get weekOfMonth {
    var date = this;
    final firstDayOfTheMonth = DateTime(date.year, date.month, 1);
    int sum = firstDayOfTheMonth.weekday  + date.day;
    if (sum % 7 == 0) {
      return sum ~/ 7;
    } else {
      return sum ~/ 7 + 1;
    }
  }
}
반응형

'Dart & Flutter > Widget & Package' 카테고리의 다른 글

카메라 사용하기  (0) 2023.02.16
iOS 와 안드로이드에서의 파일 저장 위치  (0) 2023.02.08
Getx 정리  (0) 2022.04.01
CustomPaint, CustomPainter, Painter, canvas  (0) 2021.07.14
addPostFrameCallback  (0) 2021.07.13
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함