日期范围从PHP EST中的开始日期到结束日期到UTC

日期范围从PHP EST中的开始日期到结束日期到UTC,php,mysql,datetime,Php,Mysql,Datetime,我有一个以UTC时区存储日期的数据库。我需要运行一个查询,以获取日期介于今天的开始和结束之间的所有记录。由于数据存储在UTC,而我在EST,我不能只执行y-m-d 00:00:00到y-m-d 23:59:59,因为EST比UTC晚4小时。如何在PHP中使用正确的日期框架动态构建此查询 我还需要为“上周”和“上月”构建一个查询。mktime在大多数情况下对我有效 <?php $time = mysql_query("select time from timedata where timeI

我有一个以UTC时区存储日期的数据库。我需要运行一个查询,以获取日期介于今天的开始和结束之间的所有记录。由于数据存储在UTC,而我在EST,我不能只执行y-m-d 00:00:00到y-m-d 23:59:59,因为EST比UTC晚4小时。如何在PHP中使用正确的日期框架动态构建此查询


我还需要为“上周”和“上月”构建一个查询。

mktime在大多数情况下对我有效

<?php
$time = mysql_query("select time from timedata where timeID = '1'");
$row_time = mysql_fetch_assoc($time);
$convertedTime = strtotime($row_time['time']);
$hours = 4;
$NewTime = mktime(date('H',$convertedTime)-$hours,date('i',$convertedTime),date('s',$convertedTime),date('n',$convertedTime),date('j',$convertedTime),date('Y',$convertedTime);
echo date('Y-m-d H:i:s',$NewTime);
?>

我能在EST中获得全天的愤怒,就像这样:

$date_today = DateTime::createFromFormat('Y-m-d H:i:s', date('Y') . '-' . date('m') . '-' . date('d') . ' 00:00:00')->add(new DateInterval('PT4H'))->format('Y-m-d H:00:00');

$start = $date_today;
$end = DateTime::createFromFormat('Y-m-d H:i:s', date('Y') . '-' . date('m') . '-' . date('d') . ' 00:00:00')->add(new DateInterval('PT27H'))->format('Y-m-d H:59:59');
我必须用时间00:00:00创建今天的日期,然后加上4个小时(美国东部时间)
对于结束日期,我也这样做了,但增加了27小时59分钟59秒,因此3小时59分钟,59秒+24小时(全天)

这对一周的范围有所帮助
$date_today = DateTime::createFromFormat('Y-m-d H:i:s', date('Y') . '-' . date('m') . '-' . date('d') . ' 00:00:00')->add(new DateInterval('PT4H'))->format('Y-m-d H:00:00');

$start = $date_today;
$end = DateTime::createFromFormat('Y-m-d H:i:s', date('Y') . '-' . date('m') . '-' . date('d') . ' 00:00:00')->add(new DateInterval('PT27H'))->format('Y-m-d H:59:59');