Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何节省到firebase的颤振时间?_Firebase_Flutter_Dart_Google Cloud Firestore_Dart Pub - Fatal编程技术网

如何节省到firebase的颤振时间?

如何节省到firebase的颤振时间?,firebase,flutter,dart,google-cloud-firestore,dart-pub,Firebase,Flutter,Dart,Google Cloud Firestore,Dart Pub,我正在开发一个颤振应用程序,在该应用程序中,我使用以下代码显示一个TimeRangepicker:我得到TimeOfDay(09:00)+TimeOfDay(12:00): onPressed: () async { TimeRange result = await showTimeRangePicker( use24HourFormat: false,

我正在开发一个颤振应用程序,在该应用程序中,我使用以下代码显示一个TimeRangepicker:我得到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}");
                      },

但唯一的问题是我可以找到一种合适的方法将其保存到firebase,我不需要date我只需要TimeOfDay。

Firestore中没有用于存储一天中某个时间的特定数据类型,因此您必须将其映射到现有类型之一

一些常见的映射是:

  • 将一天中的时间存储为字符串值,例如“07:55:00.000”(如果您关心毫秒精度)
  • 将一天中的时间存储为与午夜的偏移量,例如28500(从午夜到上午7:55的秒数)
  • 将一天中的时间作为固定日期的时间部分存储在
    时间戳
    字段中。这本质上是前一种方法的一种变体,偏移量是从。假设您选择纪元的开始(1970年1月1日)作为固定日期,则时间戳的值将为28500000(毫秒)

所有这些都有有效的用例,因此选择最适合您应用程序用例的选项。

非常感谢您的宝贵回答,我决定对您的应用程序提出第三个建议,我将一天的时间转换为固定日期的时间戳,并作为时间戳值存储在firestore中,然后我从firestore检索时间戳并将其转换回TimeOfDay。再次感谢:)很高兴听到@basudevnayak