13 lines
426 B
Dart
13 lines
426 B
Dart
class Semester {
|
||
Semester({required DateTime startDate, required this.totalWeeks})
|
||
: startDate = DateTime.utc(startDate.year, startDate.month, startDate.day) {
|
||
if (totalWeeks < 1 || totalWeeks > 30) {
|
||
throw ArgumentError('学期周数应为 1–30');
|
||
}
|
||
}
|
||
DateTime get firstMonday =>
|
||
startDate.subtract(Duration(days: startDate.weekday - 1));
|
||
final DateTime startDate;
|
||
final int totalWeeks;
|
||
}
|