簡體   English   中英

從PHP EST到UTC的日期范圍,從開始日期到結束日期

[英]Date range from date start to day end in PHP EST to UTC

我有一個數據庫,以UTC時區存儲日期。 我需要運行查詢以獲取所有記錄,這些記錄的日期介於今天的開始和今天的結束之間。 由於數據存儲在UTC中,而我在EST中,因此我不能僅從ymd 00:00:00到ymd 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);
?>

在上周,您可以只取7個休假日期('j'),在上個月可以休1個休假日期('n')

另外請注意設置默認時區

date_default_timezone_set('Pacific/Auckland');

http://php.net/manual/en/function.date-default-timezone-set.php

我能夠像這樣在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小時(全日)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM