Sha*_*Wet 5 javascript date timezone-offset nativescript google-cloud-firestore
我当地的时区是UTC + 2.
我正在构建一个具有RadCalendar控件的NativeScript应用程序,用户可以在其中选择日期.在我的场景中,用户选择2018年1月29日,30日和31日.
甲console.dir()所选日期的输出显示如下:
=== dump(): dumping members ===
JS: [
JS: "2018-01-28T22:00:00.000Z",
JS: "2018-01-29T22:00:00.000Z",
JS: "2018-01-30T22:00:00.000Z"
JS: ]
JS: === dump(): dumping function and properties names ===
Run Code Online (Sandbox Code Playgroud)
显然,RadCalendar正在将值转换为UTC,这很酷.然后我将这些日期保存到我的Firestore数据库,在那里它们存储在我当地时间,并保留时区信息,如我的FireStore控制台的屏幕截图所示:

到现在为止还挺好.现在,当我将FireStore数据库中的那些记录读回我的应用程序(并进入RadCalendar控件的.selectedDates属性)时,问题就出现了.
回读后,console.log()检索到的文档快照中的一个显示如下:
{
"theDate":"Jan 31, 2018 12:00:00 AM",
"available":false,
"memberUid":"N76BviTCX8fLdErAjMHYqx2GEU63",
"organizationUid":"zv5A7UC8B7bKzePGPyaJ"
}
Run Code Online (Sandbox Code Playgroud)
请注意,时区信息已消失.我想在此时执行代码仍然是"本地时区感知",并且日期(对于我的本地时区)不正确.但是在更改'available'属性并将记录保存回FireStore时会出现问题.
请注意,它不再是FireStore中的日期,而是一个字符串.
针对NativeScript的Chrome DevTools调试器实际上显示,在将数据检索回应用程序时,检索到的日期属性已经是字符串而不再是日期.可能值得一提的是,我正在使用这个NativeScript-Firebase插件与Firestore进行交互......可能是根插件库中存在根问题吗?
如何确保从FireStore数据库中返回的值在我的代码中保留为日期?
| 归档时间: |
|
| 查看次数: |
1065 次 |
| 最近记录: |