flutter 计算时间日期 在当年的第几周

///国际规定是周四为一周的第一天
const int WEEK_DAY = DateTime.thursday;

String getWeek(DateTime dateTime) {
  ///当前选中时间 周几
  var currentWeekDay = dateTime.weekday;

  ///周四
  int WEEK_DAY = DateTime.thursday;

  DateTime epoch = DateTime.utc(dateTime.year);

  int offset = EPOCH_WEEK_DAY - currentWeekDay;

  int delta =  - offset;

  int week = (dateTime.difference(epoch).inDays - delta) ~/ 7 + 1;
  return intToStr(week);
}

String intToStr(int v) {
  return (v < 10) ? "0$v" : "$v";
}

///
周,如果当年的12月31是周四,则当年有53周 (国际规定是周四为一周的第一天)

 

posted @ 2020-05-09 13:37  Belinda_sl  阅读(2303)  评论(0编辑  收藏  举报