[英]How to Substract time from datetime
我正在使用基于时区的脚本,其中存在基于时区的截止日期。 举例来说,IST时区的截止日期是7月7日下午6点。 截止时间应为迪拜所在时区的下午6点(比下午6点少)。
我已经计算了两个时区之间的差异。 我坚持要从截止时间中减去计算出的时间。
我已经以+5:40 +4:00 -4:00的格式保存了时区,而不是使用php默认格式。
这是我用来从日期中添加和减去时间的方法。 首先,我从数据库中获取日期,然后将其转换为DateTime
对象。
$date = new DateTime($date);
我使用add
和DateInterval
来添加时间。 这是增加小时数的示例。
$date->add(new DateInterval("PT{$hoursToAdd}H"));
这是减去小时数的示例:
$date->sub(new DateInterval("PT{$hoursToSubstract}H"));
检查一下以了解如何使用DateInterval并添加/减去不同的时间: http : //php.net/manual/en/class.dateinterval.php
您能更具体地解释您想做什么吗?
您想减去脚本中某个变量上已经有数据的时间,还是想要所需的SQL查询?
如果是这样,也许您可以使用此答案---> 如何从MySQL中的日期时间中减去3小时?
这篇文章的最后答案可能是最符合您需求的答案:
假设您遇到一些时区问题,并且知道源和目标时区,则可以像这样转换它
SELECT DATE_FORMAT(CONVERT_TZ(x.date_entered, 'UTC', 'Europe/Berlin'), '%Y-%m-%d') AS date FROM x ORDER BY date ASC;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.