如何从日期时间中减去时间

时间:2017-07-07 08:44:07

标签: php mysql datetime

我正在使用基于时区的脚本,其中有基于时区的截止日期。比如说截止日期是7月7日下午6点,对于IST时区的人来说。根据时区,截止日期应为迪拜时间下午1:30至下午6点。

我已经计算了两个时区差异之间的差异。我被迫从最后期限扣除计算时间。

我已经将时区保存在+5:40 +4:00 -4:00这种格式中,而不是使用php默认格式。

2 个答案:

答案 0 :(得分:0)

这是我用来添加和减去日期的时间。 首先,我从数据库中获取日期,然后将其转换为DateTime对象。

$date = new DateTime($date);

我使用addDateInterval来增加时间。这是一个增加小时数的例子。

$date->add(new DateInterval("PT{$hoursToAdd}H"));

以及减去小时数的例子:

$date->sub(new DateInterval("PT{$hoursToSubstract}H"));

检查一下,了解如何使用DateInterval并添加/减去不同的时间:http://php.net/manual/en/class.dateinterval.php

答案 1 :(得分:-1)

你能更具体地解释一下你想做什么吗?

您想要减去脚本中某些var上的数据,或者您想要SQL查询吗?

如果是这样,也许你可以使用这个答案---> How to subtract 3 hours from a datetime in MySQL?

这篇文章的最后一个答案可能是最适合你需要的答案:

  

假设您有时区问题并知道源时区和目的地时区,您可以将其转换为

SELECT 
    DATE_FORMAT(CONVERT_TZ(x.date_entered, 'UTC', 'Europe/Berlin'), '%Y-%m-%d') AS date
FROM 
    x 
ORDER BY 
    date ASC;