【问题标题】:How can I store a time value, specifically only hour and minute in Firebase?如何存储时间值,特别是 Firebase 中的小时和分钟?
【发布时间】:2017-10-28 22:35:30
【问题描述】:

我不需要将这个时间与任何日期关联。事实上,我不希望它与特定日期相关联。它与一周中的一般日子更相关。周一、周六等。

例如,您当地的咖啡店会根据星期一这一事实来设置星期一的营业时间。不是基于 2017 年 5 月 22 日或 2017 年 5 月 29 日等。

我可以做类似...

"Local Coffee Shoppe": 
{
    "availability": 
    {
        "monday":
        {
            "start":
            {
                "hour": 7,
                "minute": 30
            },
            "end":
            {
                "hour": 21,
                "minute": 0
            }
        }
    }
}

这意味着 Local Coffee Shoppe 的营业时间为每周一上午 7:30 至晚上 9:00。

这是实现这一目标的最佳方式吗?例如,所有时间都将以 UTC 格式存储,转换发生在客户端。

EDIT1:刚刚意识到这种方法存在漏洞。它不包括在午夜后营业的场所。为了解决这个问题,也许每天只存储“开始”然后“持续时间”......

    "monday":
    {
        "start":
        {
            "hour": 7,
            "minute": 30
        },
        "duration":
        {
            "hour": 13,
            "minute": 30
        }
    }

所以它在早上 7:30 后开放 13 小时 30 分钟。 IE。晚上 9:00。

【问题讨论】:

  • 您是在寻找 SQL 解决方案还是其他?
  • @TimBiegeleisen 不只是最好的方法。我想我可以存储整个日期,然后去掉小时和分钟,但这似乎模棱两可且令人困惑。只是想知道这是否是最好的课程。
  • @TimBiegeleisen 实际上我刚刚意识到这种方法存在漏洞。它不适用于上午 12 点后仍营业的场所
  • 据我了解,Firebase 基于旧版本的 Postgres。假设有一个时间类型,您可以使用它来存储这些时间点。然后,例如将它们添加到时间戳以获得开放日期的实际时间戳。
  • 你有没有找到解决这个问题的方法?

标签: json firebase time firebase-realtime-database


【解决方案1】:

我建议只存储时间戳并按照您的建议进行提取,这将是一个好方法,如果您愿意,这也可以让您已经拥有扩展用例的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 2016-08-31
    相关资源
    最近更新 更多