如何比较颤动中的时间?

How to compare time in flutter?

这里我想验证一下时间。按照这张图片,当我选择班次开始时间和结束时间时,每当我选择休息时间时,它总是在班次开始时间和班次结束时间之间。

这是输出图像

这是时间选择器的代码

                       DateTimeField( 
                          decoration: InputDecoration(
                            contentPadding: const EdgeInsets.symmetric(
                                vertical: 15.0, horizontal: 10),
                            labelText: "Time",
                            filled: true,
                            fillColor: Colors.white,
                            border: OutlineInputBorder(
                              borderRadius: new BorderRadius.circular(6),
                            ),
                          ),
                          format: format,
                          onShowPicker: (context, currentValue) async {
                            final time = await showTimePicker(
                              context: context,
                              initialTime: TimeOfDay.fromDateTime(
                                currentValue ?? DateTime.now(),
                              ),
                            );
                            return DateTimeField.convert(time);
                          },
                        ),
  static var startShift = DateTime.now();   
  final endShift = DateTime.now().add(Duration(hours: 8));   
  static var startBreak = startShift.add(Duration(hours: 3));   
  final endBreak = startBreak.add(Duration(hours: 1));

if ((startBreak.isAfter(startShift) && startBreak.isBefore(endShift)) &&
    (endBreak.isAfter(startShift) && endBreak.isBefore(endShift))) {
  //--- Break is within a shift.
} else {
  //--- Invalid break;
}