微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 TimeofDay 在最后获得 AM 或 Pm,如果它为空,我如何在其上添加一些文本?

如何解决如何使用 TimeofDay 在最后获得 AM 或 Pm,如果它为空,我如何在其上添加一些文本?

我想在时间结束时添加 AM 或 PM,为此我尝试过像 DateFormat('hh:mm a') 这样它添加 AM 或 PM 但它选择了错误的时间。如何解决这个问题?请帮助我:-

Future selectTimeEnd() async {
final TimeOfDay picked = await showTimePicker(
  context: context,initialTime: selectedTime,builder: (BuildContext context,Widget child){
    return Theme(
      data: ThemeData.dark(),child: child,);
  });
if (picked != null)
  setState(() {
    selectedTime = picked;
    _hour = selectedTime.hour.toString();
    _minute = selectedTime.minute.toString();
    _time = _hour + ' : ' + _minute;
    _timeControllerEnd.text = _time;  ///this _time displays the selected time.

    var inputDate = DateTime(selectedTime.hour,selectedTime.minute);
    var outputFormat = DateFormat('hh:mm a'); ///but this shows wrong selected time 
    var outputDate = outputFormat.format(inputDate);
    print(outputDate);

  });

}

如果选择的时间为空,则提交的文本保持为空,但我想要在那个地方有一些文本提示,为此我尝试了这个:-

 String _dropTime = _timeControllerEnd.text != null ? _timeControllerEnd.text : "Until";
    child: Align(
         alignment: Alignment.centerLeft,child: Text(_dropTime != null ? _dropTime : "Until",textAlign: TextAlign.start,style: TextStyle(fontSize: 20)),),

解决方法

更改此代码

child: Text(_dropTime != null ? _dropTime : "Until",textAlign: TextAlign.start,style: TextStyle(fontSize: 20)),

至此

chid: _dropTime!=null?Text(_dropTime):Text("untill"),

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。