Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.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
Php 将时间转换为MySQL时间_Php_Sql_Mysql_Datetime_Time - Fatal编程技术网

Php 将时间转换为MySQL时间

Php 将时间转换为MySQL时间,php,sql,mysql,datetime,time,Php,Sql,Mysql,Datetime,Time,我正在尝试存储一周的时间表,例如周一、上午9点到下午5点等。。我不需要存储日期;我只需要保存以下内容:一天,一天,一天,一天 假设我有以下时间值: 下午1:20 1320 上午8:00 等 假设这些值是实际有效时间,如何将这些字符串转换为MySQL时间类型?我该怎么做呢?我正在使用PHP 还有,我如何查询这样的内容:查找周一下午2点到3点之间营业的所有商店?我是否只需执行以下操作:WHERE day=1,from_time>=2pm和to_timeMySQL内置了unix时间戳到MySQL日期的

我正在尝试存储一周的时间表,例如周一、上午9点到下午5点等。。我不需要存储日期;我只需要保存以下内容:一天,一天,一天,一天

假设我有以下时间值:

下午1:20 1320 上午8:00 等 假设这些值是实际有效时间,如何将这些字符串转换为MySQL时间类型?我该怎么做呢?我正在使用PHP


还有,我如何查询这样的内容:查找周一下午2点到3点之间营业的所有商店?我是否只需执行以下操作:WHERE day=1,from_time>=2pm和to_timeMySQL内置了unix时间戳到MySQL日期的转换:

将_UNIXTIMEyour_时间戳中的_日期值插入表中

…反过来说

从表中选择UNIX\u时间戳\u日期

您可以在WHERE条件中使用DAY和DAYOFWEEK函数将MySQL时间戳转换为相关单位,以便进行查询


您可能需要对您的模式进行一些调整,以确定允许您在此处获得所需功能的最佳结构。例如,将一周中的某一天存储在datetime字段中可能根本没有意义。

MySQL理解ISO 8601日期格式,因此您必须以08:00:00的形式为上午8:00提供时间

您可以在WHERE子句中使用一个具有有效ISO 8601时间的字符串

MySQL有一个-它将以hh:mi:ss格式存储值,并且您可以使用来更改演示文稿,使其符合您的需要

尽量不要依赖应用于列的函数进行比较-即:

WHERE TIME_TO_SEC(column) = 123

…因为如果列上存在索引,它将导致索引无效-确保表扫描是性能最差的选项。

不过,我没有Unix时间戳。我有3条信息:一周中的某一天,从一个字符串开始,比如下午1:30,再到一个字符串。我误解了你提出的答案吗?你可以将它们作为字符串存储在MySQL中,并在每次你想对它们进行datediff时解析它们,或者你可以将它们存储为绝对时间戳,并在显示它们时丢弃所有不需要的数据,这样你就可以使用MySQL函数并根据它们的值进行查询。如果您不知道如何执行这些操作,那么访问php.net似乎是为了让您熟悉可用的日期和时间函数。我不应该尝试在MySQL中执行这些操作吗?例如,如果我有查询,查找周一下午2点到3点之间打开的每个商店-这些存储值如果按原样存储,对于此类查询将是无用的。