我创建一个角度+ firebase食品杂志,我有一个关于日期的逻辑冻结以及如何最好地存储它们。我的数据结构如下:存储日期角度和firebase
{
"uid": {
"profile": {
"name": "name"
},
"journal": {
"date1": {
"breakfast": "",
"lunch": "",
"dinner": ""
},
"date2": {
...
}
}
}
}
很显然,我只是想一次设置一个“日期”值,并能够将其从任何时区检索。我最初设置'日期'键为四舍五入的时间戳,小时,分钟,秒都设置为0.但是,这不适用于时区问题的B/C。
然后我决定只使用dateObject.toDateString()作为唯一的'日期'键。这很好,直到我意识到这样做会限制我如何查询Firebase。
我希望能够查询firebase的日期范围以及维护订单。例如,假设我想查看“2015年1月21日星期三”到“2015年1月29日星期四”的条目。获取这些日子的数据需要单独的查询和Firebase请求。如果我存储了一个数字,我可以使用Firebase的范围查询; startAt(),endAt()和equalTo()。
我目前的解决方案/想法是存储由日期对象的4位数年份,2位数月份和2位数日期组成的8位数字,其中“2015年1月21日”将存储为20150021和“1月29日星期四2015“作为20150029.然后解析数字客户端来创建本地日期对象。
但是,好像我要么过度看待某些东西,要么过度思考。有没有更好的方法来实现这一点?
下面快速回答。但是,如果您提供您拥有的代码以及它的问题是什么,那么它会更容易帮助您。请参阅http://stackoverflow.com/help/mcve –