我正在一个flutter应用程序中使用这个插件显示TimeRangepicker:time_range_picker,并且通过使用以下代码,得到**TimeOfDay(09:00)+ TimeOfDay(12:00)**作为结果:
onPressed: () async {
TimeRange result = await showTimeRangePicker(
use24HourFormat: false,
interval: Duration(minutes: 30),
context: context,
start: TimeOfDay(hour: 9, minute: 0),
end: TimeOfDay(hour: 12, minute: 0),
disabledTime: TimeRange(
startTime: TimeOfDay(hour: 23, minute: 0),
endTime: TimeOfDay(hour: 5, minute: 0)),
disabledColor: Colors.red.withOpacity(0.5),
strokeWidth: 4,
ticks: 24,
ticksOffset: -7,
ticksLength: 15,
ticksColor: Colors.grey,
labels: [
"12 pm",
"3 am",
"6 am",
"9 am",
"12 am",
"3 pm",
"6 pm",
"9 pm"
].asMap().entries.map((e) {
return ClockLabel.fromIndex(
idx: e.key, length: 8, text: e.value);
}).toList(),
labelOffset: 35,
rotateLabels: false,
padding: 60);
print("${result.startTime} + ${result.endTime}");
},
但唯一的问题是我可以找到一个适当的方法来保存这个到消防基地,我不需要日期所有我需要的是一天的时间。
3条答案
按热度按时间iugsix8n1#
Firestore中没有用于存储时间的特定数据类型,因此必须将其Map到现有类型之一。
一些常见的Map是:
Timestamp
字段中存储一天中的时间作为固定日期的时间部分。这本质上是前面方法的变体,偏移量是从start of the epoch开始的。假设您选择历元的开始(1970年1月1日)作为固定日期,那么Timestamp的值将是28500000(毫秒)。所有这些都有有效的用例,所以选择一个最适合你的应用的用例。
9gm1akwq2#
在只需要小时和分钟的常见用例中,这些值的简单Map就足够了。
这样,您就不必担心管理偏移量、意外的语言环境更改等问题。
piwo6bdm3#
你可以用这个