Php 如何使用date\u add将年、月、日、小时、分钟、秒添加到mysql日期?

Php 如何使用date\u add将年、月、日、小时、分钟、秒添加到mysql日期?,php,mysql,sql,Php,Mysql,Sql,向mysql数据库中的datetime类型列添加数据的最佳方式是什么?我尝试使用DATE_ADD,但它仅在添加单一日期/时间时有效,如: DATE_ADD(start_date, INTERVAL :dayCount DAY) 这不起作用: DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR) 我尝试按照一些人的建议添加微秒: $startMicro = strtotime($star

向mysql数据库中的datetime类型列添加数据的最佳方式是什么?我尝试使用DATE_ADD,但它仅在添加单一日期/时间时有效,如:

DATE_ADD(start_date, INTERVAL :dayCount DAY)
这不起作用:

DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR)
我尝试按照一些人的建议添加微秒:

$startMicro = strtotime($startDiff->format("%Y-%m-%d %H:%i:%s")) * 1000; // 943920000000
start=DATE_ADD(start, INTERVAL :startMicro MICROSECOND)
我最终做到了这一点,它起了作用: 在PHP中: $minutesDiff=(strotime($start)-strotime($row->start))/60; 在SQL语句中: 开始=日期添加(开始,间隔:分钟差异分钟)


谢谢大家的帮助。

将所添加的总时间转换为您希望添加的最小时间增量,因此您需要25小时,而不是1天1小时。而不是1小时,1分钟,1秒,你会做3601秒,等等

如果需要,可以嵌套它们,但语法不正确,在第二个
间隔之前缺少逗号,应该是:

DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR)

将要添加的总时间转换为您要添加的最小时间增量,这样您就可以使用25小时,而不是1天1小时。而不是1小时,1分钟,1秒,你会做3601秒,等等

如果需要,可以嵌套它们,但语法不正确,在第二个
间隔之前缺少逗号,应该是:

DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR)

将要添加的总时间转换为您要添加的最小时间增量,这样您就可以使用25小时,而不是1天1小时。而不是1小时,1分钟,1秒,你会做3601秒,等等

如果需要,可以嵌套它们,但语法不正确,在第二个
间隔之前缺少逗号,应该是:

DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR)

将要添加的总时间转换为您要添加的最小时间增量,这样您就可以使用25小时,而不是1天1小时。而不是1小时,1分钟,1秒,你会做3601秒,等等

如果需要,可以嵌套它们,但语法不正确,在第二个
间隔之前缺少逗号,应该是:

DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR)

您可以将此语法用于以下目的:

start_date + INTERVAL :dayCount DAY + 
             INTERVAL :hourCount HOUR + 
             INTERVAL :minCount MINUTE
间隔类型有年、季度、月、周、日、小时、分钟、秒和微秒

对于5.6.4之前的MySQL版本,微秒没有任何意义


请参见此处:

您可以将此语法用于以下目的:

start_date + INTERVAL :dayCount DAY + 
             INTERVAL :hourCount HOUR + 
             INTERVAL :minCount MINUTE
间隔类型有年、季度、月、周、日、小时、分钟、秒和微秒

对于5.6.4之前的MySQL版本,微秒没有任何意义


请参见此处:

您可以将此语法用于以下目的:

start_date + INTERVAL :dayCount DAY + 
             INTERVAL :hourCount HOUR + 
             INTERVAL :minCount MINUTE
间隔类型有年、季度、月、周、日、小时、分钟、秒和微秒

对于5.6.4之前的MySQL版本,微秒没有任何意义


请参见此处:

您可以将此语法用于以下目的:

start_date + INTERVAL :dayCount DAY + 
             INTERVAL :hourCount HOUR + 
             INTERVAL :minCount MINUTE
间隔类型有年、季度、月、周、日、小时、分钟、秒和微秒

对于5.6.4之前的MySQL版本,微秒没有任何意义



请参见此处:

Hi,更好的方法是添加微秒,只需将时间量转换为微秒,然后添加it@Dan为什么?这是唯一的方法,它只有几个列,而且我必须为每个列创建一个完整的查询,或者我只是一遍遍地写下函数。如果可以,请给我举个例子。嗨,更好的方法是增加微秒,只需将时间量转换为微秒,然后增加it@Dan为什么?这是唯一的方法,它只有几个列,而且我必须为每个列创建一个完整的查询,或者我只是一遍遍地写下函数。如果可以,请给我举个例子。嗨,更好的方法是增加微秒,只需将时间量转换为微秒,然后增加it@Dan为什么?这是唯一的方法,它只有几个列,而且我必须为每个列创建一个完整的查询,或者我只是一遍遍地写下函数。如果可以,请给我举个例子。嗨,更好的方法是增加微秒,只需将时间量转换为微秒,然后增加it@Dan为什么?这是唯一的方法,它只有几个列,而且我必须为每个列创建一个完整的查询,或者我只是一遍遍地写下函数。如果可以,请给我一个示例。我尝试添加微秒,但使数据库值0000-00-00 00:00$startMicro=strotTime($startDiff->format(“%Y-%m-%d%H:%I:%s”)*1000;开始=日期添加(开始,间隔:开始微秒)无需低于实际要添加的最低单位。几分钟内保持不变,可能我的转换已关闭。那么如何将datetime转换为分钟呢?顺便说一句,谢谢你的帮助。最后我做到了,而且效果很好。在PHP中:$minutesDiff=(strotime($start)-strotime($row->start))/60;在sql:start=DATE\u ADD(start,INTERVAL:minutesDiff-minutes)中,我尝试添加微秒,但使数据库值0000-00-00 00:00:00$startMicro=strottime($startDiff->format(“%Y-%m-%d%H:%I:%s”)*1000;开始=日期添加(开始,间隔:开始微秒)无需低于实际要添加的最低单位。几分钟内保持不变,可能我的转换已关闭。那么如何将datetime转换为分钟呢?顺便说一句,谢谢你的帮助。最后我做到了,而且效果很好。在PHP中:$minutesDiff=(strotime($start)-strotime($row->start))/60;在sql:start=DATE\u ADD(start,INTERVAL:minutesDiff-minutes)中,我尝试添加微秒,但使数据库值0000-00-00 00:00:00$startMicro=strottime($startDiff->format(“%Y-%m-%d%H:%I:%s”)*1000;开始=日期添加(开始,间隔:开始微秒)无需低于实际要添加的最低单位。几分钟内保持不变,可能我的转换已关闭。那么如何将datetime转换为分钟呢?顺便说一句,谢谢你的帮助。最后我做到了,而且效果很好。在PHP中:$minutesDiff=(strotime($start)-strotime($row->start))/60;在sql:start=DATE\u ADD(start,INTERVAL:minutesDiff-minutes)中,我尝试添加微秒,但使数据库值0000-00-00 00:00:00$startMicro=strottime($startDiff->format(“%Y-%m-%d%H:%I:%s”))*