」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 PHP 中跨時區轉換時間和日期?

如何在 PHP 中跨時區轉換時間和日期?

發佈於2024-11-04
瀏覽:429

How to Convert Time and Date Across Time Zones in PHP?

在PHP 中跨時區轉換時間和日期

時區轉換

一次性轉換時間和日期在PHP 中,您可以利用多功能的DateTime 類別。它允許您無縫操作和轉換時間戳。

GMT 時間偏移檢索

要擷取GMT 的時間偏移,請探索時區資料庫(TZDB) 等線上資料庫或網路號碼分配機構(IANA) 時區資料庫,取得時區及其偏移量的完整清單。

夏令時 (DST) 注意事項

考慮對於 DST,DateTime 類別會根據區域特定規則自動調整時區轉換。

PHP 類別中的實作

以下是如何建立 PHP 的範例時區轉換類別:

class TimeConverter {
    private $from_timezone;
    private $to_timezone;
    private $datetime;

    public function __construct($timestamp, $from_timezone, $to_timezone) {
        $this->datetime = new DateTime($timestamp);
        $this->from_timezone = new DateTimeZone($from_timezone);
        $this->to_timezone = new DateTimeZone($to_timezone);
    }

    public function convert() {
        $this->datetime->setTimezone($this->to_timezone);
        return $this->datetime->format('Y-m-d H:i:sP');
    }
}

用法

用法
$converter = new TimeConverter('2023-03-08 14:30:00', 'America/Los_Angeles', 'Asia/Tokyo');
$converted_time = $converter->convert();
echo $converted_time;
要將時間戳記從一個時區轉換為另一個時區,請建立 TimeConverter 類別的實例並呼叫 Convert() 方法。例如:

$converter = new TimeConverter('2023-03-08 14:30:00', '美國/洛杉磯', '亞洲/東京'); $converted_time = $converter->convert(); echo $converted_time;How to Convert Time and Date Across Time Zones in PHP?

這將輸出「亞洲/東京」時區的轉換時間,並根據夏令時進行調整(如果適用)。

版本聲明 本文轉載於:1729644377如有侵犯,請洽[email protected]刪除
最新教學 更多>
  • 如何從 ASP.NET Core Web API 控制器傳回檔案?
    如何從 ASP.NET Core Web API 控制器傳回檔案?
    在ASP.NET Core Web API 中處理文件下載嘗試從ASP.NET Web API 控制器返回文件時,您可能會遇到以下問題:響應被視為JSON。要解決此問題,了解在 ASP.NET Core 中下載檔案的正確方法至關重要。 要在 ASP.NET Core Web API 中傳回文件,您需...
    程式設計 發佈於2024-11-09
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-11-09
  • 如何將移動站點限制為橫向並停用自動旋轉?
    如何將移動站點限制為橫向並停用自動旋轉?
    增強行動網站體驗:強制橫向方向並停用自動旋轉在設計行動響應能力時,某些方向可能會對用戶產生重大影響經驗。此問題尋求一種解決方案,將行動網站限制為橫向並停用自動旋轉。 CSS 解決方案實現此目的的一種方法是透過 CSS 媒體查詢。透過為橫向和縱向建立單獨的樣式表,您可以根據裝置的方向控制網站的行為。實...
    程式設計 發佈於2024-11-09
  • Mac OS X 上的 Python 專案創建
    Mac OS X 上的 Python 專案創建
    介紹 PyFabricate 是一款 Mac OS X 應用程序,可簡化 Python 專案的建立。 自從我創作它以來,顯然它是我認為 Python 專案應該是什麼樣子的一個固執己見的版本。 此外,我還有一個特定的工具集,可以用來編寫 Python Mac OS X 應用程式。...
    程式設計 發佈於2024-11-09
  • 如何修復 PHP 中的「嘗試取得非物件的屬性」錯誤?
    如何修復 PHP 中的「嘗試取得非物件的屬性」錯誤?
    解決PHP 中的“嘗試獲取非對象的屬性”錯誤使用PHP 時,您可能會遇到錯誤“嘗試獲取非物件的屬性」獲得非物體的財產。 「當嘗試存取尚未正確初始化或為null 的物件的屬性時,通常會發生此錯誤。 在提供的程式碼的情況下,問題在於從資料庫取得側邊選單資料。mysql_fetch_object() 函數...
    程式設計 發佈於2024-11-09
  • ## 如何修改 Python 原始碼,同時保留格式和註解?
    ## 如何修改 Python 原始碼,同時保留格式和註解?
    使用AST 修改Python 原始碼使用AST 修改Python 原始碼解析、修改和寫回Python 原始碼對於突變測試等任務來說是一項很突變測試等任務來說是一項很有價值的任務。雖然標準 Python 模組提供了解析和編譯程式碼的方法,但它們缺乏修改和重寫原始程式碼的能力。 為了滿足這一需求,一些庫...
    程式設計 發佈於2024-11-09
  • 如何使用 JavaScript 根據另一個下拉清單中的選擇填入下拉清單?
    如何使用 JavaScript 根據另一個下拉清單中的選擇填入下拉清單?
    使用JavaScript 根據另一個下拉列表中的選擇填充一個下拉列表當面臨根據另一個下拉列表中的選擇動態更新一個下拉列表中的選項的任務時,它是對於避免不必要的複雜性(例如資料庫查詢)至關重要。讓我們探索一個簡單的基於 JavaScript 的解決方案,無需 AJAX 呼叫即可完成此任務。 為了說明此...
    程式設計 發佈於2024-11-09
  • 如何從具有不同數組長度的字典創建 Pandas DataFrame?
    如何從具有不同數組長度的字典創建 Pandas DataFrame?
    從條目長度不均勻的字典建立 DataFrame在 Python 中,可以從每個條目保存一個 Numpy 陣列的字典建立 DataFrame。然而,當條目之間的數組長度不同時,就會出現挑戰。預設情況下,Pandas 需要統一長度的數組,從而導致類似“ValueError: arrays must al...
    程式設計 發佈於2024-11-09
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-11-09
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要一种比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSoc...
    程式設計 發佈於2024-11-09
  • 為什麼在 Java 中使用相同的種子時會得到相同的隨機數?
    為什麼在 Java 中使用相同的種子時會得到相同的隨機數?
    具有固定種子的Java隨機數:為什麼輸出相同? 在您的程式碼中,您定義了一種使用以下命令產生隨機數的方法指定的種子。但是,您會注意到,當您提供相同的種子時,所有 100 個產生的數字都是相同的。 此行為是預期的,因為在 Random 建構函式中使用相同的種子會產生可預測的數字序列。種子是初始化隨機數...
    程式設計 發佈於2024-11-09
  • jQuery Chaining 如何簡化開發並提高程式碼效率?
    jQuery Chaining 如何簡化開發並提高程式碼效率?
    理解 jQuery 中的物件和方法連結在 jQuery 中,連結允許在單一語句中串聯多個 jQuery 方法。這使開發人員能夠簡化程式碼並輕鬆執行複雜的操作。 連結的基本原理涉及每個 jQuery 方法的回傳值。當呼叫 jQuery 方法時,它通常會傳回一個表示所選元素的 jQuery 物件。這允許...
    程式設計 發佈於2024-11-09
  • Hono.js 基準測試:Node.js、Deno 和 Bun — 哪個最快?
    Hono.js 基準測試:Node.js、Deno 和 Bun — 哪個最快?
    Deno 2.0 剛剛發布,並聲稱比 Bun 和 Node.js 更快,同樣,Bun 也聲稱更快。這引起了我的興趣,所以我決定測試它們的性能,看看它們在現實場景中的比較。 為了公平比較,我需要選擇一個與所有三種 JavaScript 執行時間環境(Node.js、Deno 和 Bun)相容的框架。...
    程式設計 發佈於2024-11-09
  • 何時應該使用 Tkinter 的 Entry Get 函數來有效檢索輸入?
    何時應該使用 Tkinter 的 Entry Get 函數來有效檢索輸入?
    Tkinter Entry 的Get 函數:深入探討其功能和用法在Tkinter 中,Entry 小部件通常用於收集用戶輸入以進一步收集使用者輸入然而,與Entry 關聯的get() 函數通常無法產生所需的結果,這可能會讓開發人員感到困惑。本文深入探討 get() 的概念,全面了解其執行與應用。 理...
    程式設計 發佈於2024-11-09
  • 如何克服 PHP 中日期表示的 2038 限制?
    如何克服 PHP 中日期表示的 2038 限制?
    PHP 中的日期表示:克服2038 年限制雖然PHP 的原生日期函數在2038 年有一個截止日期,但還有其他方法處理超出此限制的日期。其中一種方法是僅儲存年、月和日,而忽略小時、分鐘、秒和毫秒部分。 透過丟棄這些附加時間部分,可以顯著擴展可表示日期的範圍。這是因為這些元件中的每一個都佔用了 PHP ...
    程式設計 發佈於2024-11-09

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3