繁体   English   中英

如何从日期时间减去时间

[英]How to Substract time from datetime

我正在使用基于时区的脚本,其中存在基于时区的截止日期。 举例来说,IST时区的截止日期是7月7日下午6点。 截止时间应为迪拜所在时区的下午6点(比下午6点少)。

我已经计算了两个时区之间的差异。 我坚持要从截止时间中减去计算出的时间。

我已经以+5:40 +4:00 -4:00的格式保存了时区,而不是使用php默认格式。

这是我用来从日期中添加和减去时间的方法。 首先,我从数据库中获取日期,然后将其转换为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

您能更具体地解释您想做什么吗?

您想减去脚本中某个变量上已经有数据的时间,还是想要所需的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM