簡體   English   中英

MySQL EST 時間戳歸檔顯示 php 中的 1 小時差異

[英]MySQL EST timestamp filed showing 1 hour difference in php

當我在 mysql 中運行這個SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %r')它顯示2015-09-08 01:47:06 AM 我的 MySQL 系統時區是EDT 但是,當我同時在 PHP運行它

<?php 
date_default_timezone_set('EST');
echo date('Y-m-d h:i:s A');
//also tested :output 2015-09-08 00:47:06 AM
//echo date('Y-m-d H:i:s A');
?>

它的顯示時間為2015-09-08 12:47:06 AM 所以這兩個時間之間相差1小時。 這里有什么問題? 如何在 PHP 中獲得與 mysql NOW()相同的功能?

您將時區設置為EST - 即東部標准時間,全年都是 UTC-5。 如果您確實想要“東部時間”,請使用America/New_York作為您的時區標識符。 這將在適當的時間在 EST 和 EDT 之間有所不同。

我強烈建議您盡可能避免使用這些縮寫——它們甚至不是唯一的(例如,BST = 英國標准時間和英國夏令時)並且會引起很多混淆。 基本上,它們通常代表一個特定的 UTC 偏移量。 這與時區不同,時區表示 UTC 偏移量隨時間變化的方式。

暫無
暫無

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

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