【问题标题】:Setting the Day Period on TimeOfDay在 TimeOfDay 上设置日期间
【发布时间】:2021-10-18 18:32:08
【问题描述】:

我试图在没有时间选择器输入的情况下在幕后设置 TimeOfDay。时间设置正确,但 Day Period 不正确。我假设它从时间选择器中获取这些数据,但由于我们绕过它,它默认为不正确的日期。有一个 period 属性,但看起来它只是一个 getter。有没有办法在 TimeOfDay 对象上手动设置 Day Period?

if (!selectTimeOfDay) {
  final TimeOfDay allDayTime;

  if (placeholder == 'Start Date') {
    allDayTime = TimeOfDay(hour: 12, minute: 0);  //set period to AM here        
  } else {
    allDayTime = TimeOfDay(hour: 11, minute: 59); // set period to PM here
  }

  onChanged(DateTime(date.year, date.month, date.day, allDayTime.hour, allDayTime.minute));

  return;
}

期间显示,正好相反。应该是 12:00AM - 11:59PM,但它是 12:00PM - 11:59AM。

【问题讨论】:

    标签: flutter flutter-datetime-picker


    【解决方案1】:

    我犯了一个愚蠢的错误。我需要将时间格式化为 0 - 24。

        if (!selectTimeOfDay) {
      final TimeOfDay allDayTime;
    
      if (placeholder == 'Start Date') {
        allDayTime = TimeOfDay(hour: 0, minute: 0);  //set period to AM here        
      } else {
        allDayTime = TimeOfDay(hour: 23, minute: 59); // set period to PM here
      }
    
      onChanged(DateTime(date.year, date.month, date.day, allDayTime.hour, allDayTime.minute));
    
      return;
    }
    

    【讨论】:

      猜你喜欢
      • 2016-10-05
      • 2016-11-07
      • 2012-06-22
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 2020-02-09
      • 2021-04-03
      • 1970-01-01
      相关资源
      最近更新 更多