簡體   English   中英

更快速地將UTC轉換為EST並為其添加3天

[英]Quicker way to convert UTC to EST and add 3 days to it

我有以下代碼,它有效,但有一個“更清潔”的方式,可能更少的代碼?

$today = new DateTime();
$utc_today = date('Y-m-d', $today->format('U'));
$new_date = new DateTime($utc_today, new DateTimeZone('America/New_York'));
$new_date->add(new DateInterval('P3D'));
echo $new_date->format('m-d-Y');

如果你現在只需要表達時間,加上美國東部時間的3天,那么你的工作就太多了。 您只需要一個聲明:

$date = new DateTime("3 days", new DateTimeZone('America/New_York'));
echo $date->format("Y-m-d H:i:s\n");

如果您從任意UTC時間戳開始,那么您需要大約3行代碼而不是僅僅一行:

// let us assume $inputTimestamp is the UTC time you want to play with
$date = new DateTime(null, new DateTimeZone('America/New_York'));
$date->setTimestamp($inputTimestamp);
$date->modify("3 days");
echo $date->format("Y-m-d H:i:s\n");

或者,您可以為時間戳添加3天的秒數並保存一些代碼,但它的可讀性較低:

$date = new DateTime(null, new DateTimeZone('America/New_York'));
$date->setTimestamp($inputTimestamp + (3*24*60*60) );
echo $date->format("Y-m-d H:i:s\n");

對於日期/時間操作,我發現PHP Relative Formats文檔非常有用。 這絕對值得回顧。

暫無
暫無

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

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