Flutter TimePicker 转为 RFC 3339 格式
Flutter TimePicker to RFC 3339 format
我正在使用 Flutter TimePicker
来允许用户 select 一次。
这使用 TimeOfDay
Class.
我需要 RFC 3339 格式的 selection (2022-06-24T01:23:45
)
有没有办法转换它,或者我需要另一个包来代替 select?
我知道那里也有一个日期参数,我想插入的是当前日期,不确定是否可以自动填充当前日期?
当我尝试用接收到的函数转换它时
The argument type 'TimeOfDay' can't be assigned to the parameter type 'DateTime'.
Future<void> _selectTime(BuildContext context) async {
final TimeOfDay? timeOfDay = await showTimePicker(
context: context,
builder: (BuildContext context, Widget ?child) {
return Theme(
data: ThemeData(
primarySwatch: Colors.grey,
splashColor: Colors.white,
textTheme: TextTheme(
subtitle1: TextStyle(color: Colors.black),
button: TextStyle(color: Colors.black),
),
colorScheme: ColorScheme.light(
primary: Color(0xff2F2F2F),
),
child: child ??Text(""),
);
},
initialTime: selectedTime,
initialEntryMode: TimePickerEntryMode.dial,
);
if(timeOfDay != null && timeOfDay != selectedTime)
{
setState(() {
selectedTime = timeOfDay;
this._myDepTime = selectedTime.format(context);
});
}
}
是否可以转换为 RFC 3339 格式,或者我应该将 TimePicker 包切换为 DateTime 样式替代方案?
谢谢
解决方案是
final now = new DateTime.now();
final selectedTime = new DateTime(now.year, now.month, now.day, timeOfDay.hour, timeOfDay.minute
这使用 DateTimes now
参数来填充日期部分
我正在使用 Flutter TimePicker
来允许用户 select 一次。
这使用 TimeOfDay
Class.
我需要 RFC 3339 格式的 selection (2022-06-24T01:23:45
)
有没有办法转换它,或者我需要另一个包来代替 select?
我知道那里也有一个日期参数,我想插入的是当前日期,不确定是否可以自动填充当前日期?
当我尝试用接收到的函数转换它时
The argument type 'TimeOfDay' can't be assigned to the parameter type 'DateTime'.
Future<void> _selectTime(BuildContext context) async {
final TimeOfDay? timeOfDay = await showTimePicker(
context: context,
builder: (BuildContext context, Widget ?child) {
return Theme(
data: ThemeData(
primarySwatch: Colors.grey,
splashColor: Colors.white,
textTheme: TextTheme(
subtitle1: TextStyle(color: Colors.black),
button: TextStyle(color: Colors.black),
),
colorScheme: ColorScheme.light(
primary: Color(0xff2F2F2F),
),
child: child ??Text(""),
);
},
initialTime: selectedTime,
initialEntryMode: TimePickerEntryMode.dial,
);
if(timeOfDay != null && timeOfDay != selectedTime)
{
setState(() {
selectedTime = timeOfDay;
this._myDepTime = selectedTime.format(context);
});
}
}
是否可以转换为 RFC 3339 格式,或者我应该将 TimePicker 包切换为 DateTime 样式替代方案?
谢谢
解决方案是
final now = new DateTime.now();
final selectedTime = new DateTime(now.year, now.month, now.day, timeOfDay.hour, timeOfDay.minute
这使用 DateTimes now
参数来填充日期部分