Flutter 将日期与星期几匹配?

Flutter 将日期与星期几匹配?,flutter,dart,Flutter,Dart,getDaysInWeek()列出从太阳到周六的天数 getSeveniWeek()列出2019年的第一周。1月1日应该是周二而不是太阳 如何使用DateTime类或date_Utils包下的weekday属性将日期与星期几匹配 类测试扩展状态{ @凌驾 小部件构建(构建上下文){ 返回脚手架( appBar:appBar( 标题:文本(“日历页”), ), 正文:列(子项:[ 桌子( 儿童:[ 桌椅( 儿童:getDaysInWeek(), ), 桌椅( 儿童:GetSeveningWeek

getDaysInWeek()列出从太阳到周六的天数

getSeveniWeek()列出2019年的第一周。1月1日应该是周二而不是太阳

如何使用DateTime类或date_Utils包下的weekday属性将日期与星期几匹配

类测试扩展状态{
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“日历页”),
),
正文:列(子项:[
桌子(
儿童:[
桌椅(
儿童:getDaysInWeek(),
),
桌椅(
儿童:GetSeveningWeek(),
),
],
),
]),
);
}
}
列出GetSeveningWeek(){
var seven=[];
日期时间开始=日期时间(2019,01,01);
最终结束=日期时间(2019年1月8日);
while(start.isBefore(end)){
七、增加(开始);
开始=开始.添加(常数持续时间(天:1));
}
返回seven.map((日期时间){
返回文本(
新的日期格式(“dd”)。格式(时间),
样式:TextStyle(背景色:Colors.red),
textAlign:textAlign.left,
);
}).toList();
}
列出getDaysInWeek(){
列出dayWidgets=[];
Utils.weekdays.forEach(
(天){
dayWidgets.add(
新日历磁砖(
isDayOfWeek:没错,
星期天:星期天,
),
);
},
);
返回日期窗口小部件;
}

而不是在
getSevenInWeek
函数中设置天数。在State类中这样做,然后将其传递给
getseveniweek
getDaysInWeek

//不需要库。
字符串getDay(int dayNumber){
列出工作日=常数[
“周一”,
“星期二”,
“Wed”,
“Thu”,
“星期五”,
“Sat”,
“太阳”,
];
返回工作日[天数];
}
类Testate扩展状态{
列表七=[];
@凌驾
void initState(){
七=[];
日期时间开始=日期时间(2019,01,01);
DateTime end=DateTime(2019,01,08);
while(start.isBefore(end)){
七、增加(开始);
开始=开始.添加(常数持续时间(天:1));
}
super.initState();
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“日历页”),
),
正文:列(子项:[
桌子(
儿童:[
桌椅(
儿童:getDaysInWeek(七),
),
桌椅(
儿童:每周七次,
),
],
),
]),
);
}
}
每周列表(列表天数){
返回天数.map((日期时间){
返回文本(
新的日期格式(“dd”)。格式(时间),
样式:TextStyle(背景色:Colors.red),
textAlign:textAlign.left,
);
}).toList();
}
列出getDaysInWeek(列出天数){
列出dayWidgets=[];
每天(
(日期时间日){
dayWidgets.add(
新日历磁砖(
isDayOfWeek:没错,
dayOfWeek:getDay(day.weekday),
),
);
},
);
返回日期窗口小部件;
}
class ThirdRouteState extends State<ThirdRoute> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Calendar Page"),
      ),
      body: Column(children: <Widget>[
        Table(
          children: <TableRow>[
            TableRow(
              children: getDaysInWeek(),
            ),
            TableRow(
              children: getSevenInWeek(),
            ),
          ],
        ),

      ]),
    );
  }
}

List<Widget> getSevenInWeek() {
  var seven = <DateTime>[];
  DateTime start = DateTime(2019, 01, 01);
  final end = DateTime(2019, 01, 08);
  while (start.isBefore(end)) {
    seven.add(start);
    start = start.add(const Duration(days: 1));
  }

  return seven.map((DateTime time) {
    return Text(
      new DateFormat("dd").format(time),
      style: TextStyle(backgroundColor: Colors.red),
      textAlign: TextAlign.left,
    );
  }).toList();
}

List<Widget> getDaysInWeek() {
  List<Widget> dayWidgets = [];

  Utils.weekdays.forEach(
    (day) {
      dayWidgets.add(
        new CalendarTile(
          isDayOfWeek: true,
          dayOfWeek: day,
        ),
      );
    },
  );

  return dayWidgets;
}