Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Search 如何根据当地时间进行搜索,考虑时区_Search_Time - Fatal编程技术网

Search 如何根据当地时间进行搜索,考虑时区

Search 如何根据当地时间进行搜索,考虑时区,search,time,Search,Time,我收集了一些有营业时间的商店,想知道哪些商店目前正在营业 问题是这些商店遍布世界各地 这就是find查询的样子(例如,我使用SQL,但这并不重要): 结果: name day_of_week openTime closeTime shop1 'monday' '09:00' '18:00' shop1 'tuesday' '09:00' '18:00' shop2 'tuesday' '10:00'

我收集了一些有营业时间的商店,想知道哪些商店目前正在营业

问题是这些商店遍布世界各地

这就是find查询的样子(例如,我使用SQL,但这并不重要):

结果:

name    day_of_week     openTime    closeTime   

shop1   'monday'        '09:00'     '18:00'
shop1   'tuesday'       '09:00'     '18:00'
shop2   'tuesday'       '10:00'     '19:00'
shop2   'tuesday'       '10:00'     '19:00'
示例查询(现在是星期一09:30):


你能用一个例子向我们展示一些示例文档和你的预期输出吗?夏/冬你指的是夏令时?在UTC中存储时,这不应该是一个问题。。您可以考虑将时区名称存储在单独的字段中,用于某些目的,即夏时制。当地时间在接近春季开始时向前调整一小时,在秋季向后调整。本地打开/关闭时间始终相同,但UTC打开/关闭时间将更改一小时。在这种情况下,我如何以UTC存储时间?我可以定期重新计算,但这是一个丑陋的解决方案。解决方案尚未建立。我可以改变数据库结构和查询,我的结构只是一个例子。存储在UTC,存储在本地时间,这无关紧要。问题是如何在全世界按时间搜索。奇怪的是没有人回答。原因是什么?你能用一个例子向我们展示一些示例文档和你的预期输出吗?夏/冬你指的是夏令时?在UTC中存储时,这不应该是一个问题。。您可以考虑将时区名称存储在单独的字段中,用于某些目的,即夏时制。当地时间在接近春季开始时向前调整一小时,在秋季向后调整。本地打开/关闭时间始终相同,但UTC打开/关闭时间将更改一小时。在这种情况下,我如何以UTC存储时间?我可以定期重新计算,但这是一个丑陋的解决方案。解决方案尚未建立。我可以改变数据库结构和查询,我的结构只是一个例子。存储在UTC,存储在本地时间,这无关紧要。问题是如何在全世界按时间搜索。奇怪的是没有人回答。原因是什么?
SELECT shops.name, shops_openHours.day day_of_week, 
shops_openHours.openTime, shops_openHours.closeTime FROM shops
LEFT JOIN shops_openHours ON shops_openHours.shopId=shop.id
name    day_of_week     openTime    closeTime   

shop1   'monday'        '09:00'     '18:00'
shop1   'tuesday'       '09:00'     '18:00'
shop2   'tuesday'       '10:00'     '19:00'
shop2   'tuesday'       '10:00'     '19:00'
SELECT shops.name  FROM shops LEFT JOIN shops_openHours ON shops_openHours.shopId=shop.id 
WHERE shops_openHours.day='monday' 
AND shops_openHours.openTime < '09:30' AND  shops_openHours.closeTime > '09:30'
name

shop1