我使用 Xata 作为我的数据库,它有一个日期时间列类型,我目前正在使用它来表示餐厅的营业时间。但当我只使用它几个小时和几分钟时,它并不总是很方便。这在排序时会出现问题,因为我总是必须从日期中提取时间,而且我还必须处理时区问题。在这种情况下,最佳做法是什么?继续使用日期时间数据类型还是切换到字符串?我以以下格式“hh:mm”显示每天的开放时间。
您可能不想在该用例中使用
datetime
,因为它代表特定日的时间。
如果您的数据库有
time
列,则更合适。如果没有,请使用数字(或字符串)+ 单独的时区字段。您存储的时间应该是餐厅本地时间,而不是转换为 UTC。
您将来可能会遇到的额外情况是,有些地方的关门时间会超过午夜,但从“开放时间”和会计角度来看,通常会算作前一天。那么
5:00
是指当天凌晨 5 点还是第二天凌晨 5 点?
来源:我是CalConnect互联网日历标准组的前成员。