在 mysql 数据库中添加日期时间类型列的最佳方法是什么?我尝试使用 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 = (strtotime($start) - strtotime($row->start))/60; 在 SQL 语句中: start=DATE_ADD(开始, INTERVAL :minutesDiff MINUTE)
感谢大家的帮助。
最佳答案
将添加的总时间转换为您要添加的最小时间增量,因此您需要 25 小时而不是 1 天、1 小时。不是 1 小时 1 分 1 秒,而是 3601 秒,等等。
如果需要,您可以嵌套它们,但是您的语法不正确,在第二个 INTERVAL
之前缺少一个逗号,应该是:
DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR)
关于php - 如何使用 date_add 将年、月、日、小时、分钟、秒添加到 mysql 日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23999026/