首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中添加时间

在PHP中添加时间
EN

Stack Overflow用户
提问于 2009-09-21 21:10:13
回答 8查看 3.9K关注 0票数 0

我正在从mysql数据库中提取一个日期时间,我想将它加上X个小时,然后将其与当前时间进行比较。到目前为止,我得到了

代码语言:javascript
复制
$dateNow = strtotime(date('Y-m-d H:i:s'));
$dbTime = strtotime($row[0]);

然后我尝试了$dbTime + strtotime("4小时“);但是4小时似乎使当前时间增加了4小时,而不是原始的4小时。如何将X小时添加到dbTime?

注意:我使用的是php 5.1.2,所以date_add不能工作(5.3.0)

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-09-21 21:23:11

time()和strtotime()生成unix时间戳(以秒为单位),因此您可以执行类似以下操作,前提是您的db和比较:

代码语言:javascript
复制
$fourHours = 60 * 60 * 4;
$futureTime = time() + $fourHours;
票数 2
EN

Stack Overflow用户

发布于 2009-09-21 21:37:56

然后我尝试了$dbTime +

(“4小时”);但是4小时似乎使当前时间增加了4小时,而不是原始的4小时。如何将X小时添加到dbTime?

strtotime有一个可选的第二个参数。在那里提供一个Unix时间戳,输出将相对于该日期而不是当前日期。

代码语言:javascript
复制
$newTime = strtotime('+4 hours', $dbTime);

您还可以利用Unix时间戳是以秒为单位的这一事实-如果您知道四个小时是以秒为单位的,则可以将其添加到时间整数值中。

票数 3
EN

Stack Overflow用户

发布于 2009-09-21 21:44:42

这里有相当多的选项:

1.

代码语言:javascript
复制
$result = mysql_query("SELECT myDate FROM table");
$myDate = mysql_result($result, 0);
$fourHoursAhead = strtotime("+4 hours", strtotime($myDate));

2.

代码语言:javascript
复制
// same first two lines from above
$fourHoursAhead = strtotime($myDate) + 4 * 60 * 60;

3.

代码语言:javascript
复制
$result = mysql_query("SELECT UNIX_TIMESTAMP(myDate) FROM table");
$myDate = mysql_result($result, 0);
$fourHoursAhead = $myDate + 4 * 60 * 60;

4.

代码语言:javascript
复制
$fourHoursAhead = strtotime("+4 hours", $myDate);

5.

代码语言:javascript
复制
$result = mysql_query("SELECT UNIX_TIMESTAMP(DATE_ADD(myDate, INTERVAL 4 HOUR))");
$fourHoursAhead = mysql_result($result, 0);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1456886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档