Dart & Flutter/Widget & Package
month의 week number를 계산하는 extention
낭초비
2022. 8. 9. 09:14
반응형
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;
}
}
}
반응형