[英]Displaying week numbers / calendar weeks
我希望能够显示当前的日历周,但据我所知DateTime
是不可能的。
目前我必须得到当前的天数,除以 7 并四舍五入这个数字。 最后一部分是我被困的地方。 有没有办法在 Flutter 中舍入整数?
这是我使用的代码:
class CurrentWeek extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return new CurrentWeekState();
}
}
class CurrentWeekState extends State<CurrentWeek> {
DateTime currentTime;
String currentDayCount;
@override
void initState() {
super.initState();
currentTime = DateTime.now();
}
@override
Widget build(BuildContext context) {
currentDayCount = DateFormat("D").format(currentTime);
return Text(currentDayCount);
}
}
包: https : //pub.dev/packages/week_of_year通过在 DateTime 对象上调用它来做到这一点:
如文档中所述:
import 'package:week_of_year/week_of_year.dart';
void main() {
final date = DateTime.now();
print(date.weekOfYear); // Get the iso week of year
}
getWeekNumber(date) {
let oneDayMillSeconds = 24 * 60 * 60 * 1000;
let firstDate = new Date(date);
firstDate.setMonth(0);
firstDate.setDate(1);
firstDate.setHours(0, 0, 0, 0);
let days = (date.valueOf() - firstDate.valueOf()) / oneDayMillSeconds + 1;
let yearFirstDay = firstDate.getDay() || 7;
let week = null;
if (yearFirstDay === 7) {
week = Math.ceil(days / yearFirstDay);
} else {
days -= (7 - yearFirstDay + 1);
week = Math.ceil(days / 7) + 1;
}
return week;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.