簡體   English   中英

PHP - 獲取特定時區的當前時間

[英]PHP - get current time in specific time zone

我創建了一個漫畫,並有一個包含指定日期的漫畫頁數據庫。 我想用最新的日期來獲得漫畫,但不會為未來獲得漫畫。

換句話說,如果today是12-12-2000,我有以下漫畫:

  1. 2000年12月1日
  2. 2000年12月12日
  3. 二○○○年十二月三十零日

我將能夠查詢並獲得漫畫1和2。

到目前為止,我已經使用gettimeofday()函數完成了這項工作,只需將其分配給變量並執行MySQL查詢。 這是我現在正在做的最簡單版本,以獲得最新(但不是未來)漫畫。

 $gtod1 = gettimeofday();
 $today = date("Y-m-d");
$directory = "comics";


$sql_lastcomic = $conn->prepare("SELECT * FROM comics WHERE story = ? AND `date` <= ? ORDER BY `date` DESC, id DESC LIMIT 1");
$sql_lastcomic->bind_param('ss', $directory, $today);

這很好,除了我希望它總是查看我的時區,而不是用戶時區。 這樣,每個人都可以同時發布更新。

我查看了gettimeofday()的文檔,但不知道如何修改它。 或者我應該修改我的MySQL聲明? 我們只想說我想用山地時間作為我的時區。

正如@Karthik所說,您可以使用DateTimezone對象來獲取時區。

這是文檔的鏈接

例:

$tz = 'America/New_York';
$tz_obj = new DateTimeZone($tz);
$today = new DateTime("now", $tz_obj);
$today_formatted = $today->format('Y-m-d');
$directory = "comics";

$query = "
SELECT *
FROM comics
WHERE story = ?
AND `date` <= ?
ORDER BY `date` DESC, id DESC 
LIMIT 1"

$prepped = $conn->prepare($query);
$prepped->bind_param('ss', $directory, $today_formatted);

對於特定時區選擇,您可以在使用date()time()函數之前使用date_default_timezone_set

例:

date_default_timezone_set('Asia/Dhaka');
// Then call the date functions
echo $date = date('Y-m-d H:i:s');

要么

從PHP 5.2.0您也可以使用OOPDateTime() (當然如果您更喜歡OOP):

$now = new DateTime();
echo $now->format('Y-m-d H:i:s');    // MySQL datetime format
echo $now->getTimestamp();           // Unix Timestamp -- Since PHP 5.3

並指定timezone

$now = new DateTime(null, new DateTimeZone('Asia/Dhaka'));
$now->setTimezone(new DateTimeZone('Asia/Dhaka'));    // Another way
echo $now->getTimezone();

有關時區參考,請參閱支持的時區列表

一些有用的鏈接

對於America / New_York時區

$today = new DateTime("now", new DateTimeZone('America/New_York') );
echo $today->format('Y-m-d');
date_default_timezone_set('Asia/Kolkata');
//this will set your default timezone,for your use set default timezone as yours
$time = strtotime(date('Y-m-d H:i'));

$date = date("d/m/Y g:i A", $time);

希望這可以幫助

暫無
暫無

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

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