繁体   English   中英

显示周数/日历周

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM