」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在Go中解析具有特定時區的時間字串?

如何在Go中解析具有特定時區的時間字串?

發佈於2024-11-15
瀏覽:993

How to Parse a Time String with a Specific Time Zone in Go?

解析特定時區的時間

您可以使用 time.ParseTime() 從字串中取得時間結構。它採用佈局字串作為參數,指定輸入字串的格式。佈局字串必須與輸入字串的格式完全相符。

如果需要解析包含時區的時間字串,可以使用 time.ParseInLocation()。此函數採用佈局字串和位置作為參數。該位置可以是 time.Location 值或表示時區名稱的字串。

例如,以下程式碼解析包含時區的時間字串:

import (
    "fmt"
    "time"
)

func main() {
    const layout = "2006-01-02 15:04"
    const timeStr = "2012-07-09 05:02:00  0000 CEST"

    t, err := time.ParseInLocation(layout, timeStr, time.Local)
    if err != nil {
        fmt.Println(err)
        return
    }

    fmt.Println(t)
}

此程式碼將列印以下輸出:

2012-07-09 05:02:00  0000 CEST

time.ParseInLocation() 函數將解析時間根據佈局字元字串和指定位置的字串。在本例中,佈局字串為“2006-01-02 15:04”,位置為“CEST”。 time.ParseInLocation() 函數將會傳回一個表示解析時間的 time.Time 值。

如果未指定位置,time.ParseInLocation() 函數將使用本地時區。這意味著解析的時間將轉換為本地時區。

您可以透過創建時間來避免這種情況。具有正確時間和時區的時間值:

import (
    "fmt"
    "time"
)

func main() {
    const layout = "2006-01-02 15:04"
    const timeStr = "2012-07-09 05:02:00"
    const timeZone = "CEST"

    pz, err := time.LoadLocation(timeZone)
    if err != nil {
        fmt.Println(err)
        return
    }

    t, err := time.Parse(layout, timeStr)
    if err != nil {
        fmt.Println(err)
        return
    }

    T := t.In(pz)

    fmt.Println(T)
}

此程式碼將列印以下輸出:

2012-07-09 05:02:00  0200 CEST

此程式碼的輸出顯示正確的時間時區。

最新教學 更多>
  • 如何確定 PDO 及其 MySQL 驅動程式在您的 PHP 環境中是否可用?
    如何確定 PDO 及其 MySQL 驅動程式在您的 PHP 環境中是否可用?
    確定PHP 中PDO 的可用性如果您考慮在PHP 應用程式中使用PDO,驗證其在您的主機上的可用性至關重要伺服器。以下是專門針對MySQL 測試PDO 的設定和功能的方法:PHPinfo ApproachPHPinfo() 提供有關PHP 配置的詳細報告,包括已安裝的模組和擴展。使用以下腳本存取 P...
    程式設計 發佈於2024-11-15
  • 如何用JavaScript實作頁面退出前的確認?
    如何用JavaScript實作頁面退出前的確認?
    頁面退出前的JavaScript確認為了防止用戶在沒有確認的情況下意外離開頁面,可以使用JavaScript實現一個確認窗口。 使用 onbeforeunloadonbeforeunload 事件在使用者即將離開頁面時觸發。放置在此事件偵聽器中的程式碼將向使用者顯示確認視窗。如果使用者選擇“確定”,...
    程式設計 發佈於2024-11-15
  • 使用 Django、HTMX、Alpine、Tailwind 和 Plaid 的個人財務管理應用程式
    使用 Django、HTMX、Alpine、Tailwind 和 Plaid 的個人財務管理應用程式
    我一直渴望深入研究 HTMX,特别是在观看了 DjangoCon Europe 2022 演讲之后 从真实 SaaS 项目上的 React 到 HTMX。我最近在日常工作中一直在使用 HTMX 和 Alpine,它们一起使开发交互式 Web 应用程序变得更加愉快,特别是对于不太喜欢前端开发的人来说。...
    程式設計 發佈於2024-11-15
  • 如何在 Linux 伺服器上使 MySQL 不區分大小寫:遷移解決方案
    如何在 Linux 伺服器上使 MySQL 不區分大小寫:遷移解決方案
    在Linux 伺服器上使MySQL 不區分大小寫在遷移場景中,以前託管在Apple 伺服器上的網站在遷移到Linux 伺服器後遇到問題,調查影響MySQL 查詢的潛在區分大小寫差異至關重要。 Mac 和 Windows 伺服器預設處理 MySQL 查詢時不區分大小寫,而 Linux 伺服器則強制區分...
    程式設計 發佈於2024-11-15
  • 使用 NVIDIA AI 端點和 Ragas 評估醫療檢索增強生成 (RAG)
    使用 NVIDIA AI 端點和 Ragas 評估醫療檢索增強生成 (RAG)
    在医学领域,采用先进技术对于加强患者护理和改进研究方法至关重要。检索增强生成 (RAG) 是这些开创性创新之一,它将大型语言模型 (LLM) 的强大功能与外部知识检索相结合。通过从数据库、科学文献和患者记录中提取相关信息,RAG 系统提供了更准确、上下文更丰富的响应基础,解决了纯法学硕士中经常观察到...
    程式設計 發佈於2024-11-15
  • 如何將 GitHub 儲存庫整合到“requirements.txt”中?
    如何將 GitHub 儲存庫整合到“requirements.txt”中?
    在requirements.txt中指定GitHub來源要將從GitHub儲存庫安裝的庫整合到您的依賴項中,請修改您的requirements.txt檔案如下:對於GitHub 儲存庫,省略「package==version」命名約定。相反,請使用以下格式:package-name @ git gi...
    程式設計 發佈於2024-11-15
  • 如何在 PHP 中將數字四捨五入到最接近的 10?
    如何在 PHP 中將數字四捨五入到最接近的 10?
    在 PHP 中將數字四捨五入到最接近的 10將數字四捨五入到最接近的 10 是編程中的常見任務。 PHP 提供了幾個用於對數字進行四捨五入的內建函數,包括 Floor()、ceil() 和 round()。 要將數字四捨五入到最接近的 10,我們可以使用 ceil() 函數。 ceil() 將數字向...
    程式設計 發佈於2024-11-15
  • 為什麼 Golang 沒有原生的 Set 資料結構?
    為什麼 Golang 沒有原生的 Set 資料結構?
    Golang 奇怪地缺乏集合資料結構在Golang 中,對集合資料結構的基本需求導致了一個令人困惑的問題:為什麼不是原生提供的嗎?從 Google 頗具影響力的 Guava 庫中汲取靈感,為什麼 Golang 的設計者省略了對這樣一個基本結構的支持,迫使開發人員自己設計實現? 答案在於使用映射來建立...
    程式設計 發佈於2024-11-15
  • 非常量成員函數和常數成員函數之間的「this」指標型別有什麼差別?
    非常量成員函數和常數成員函數之間的「this」指標型別有什麼差別?
    理解「This」指標的型別「this」指標是指指向其成員函數所在物件的指標稱為。它由編譯器自動提供,用於存取物件的成員。 「this」指標的類型取決於是否在非常量成員函數或常數成員函數中存取它。 在非常量成員函數中,“this”的類型為“ClassName *”,其中ClassName 是類別的名稱...
    程式設計 發佈於2024-11-15
  • 棘手的 Golang 面試問題 - Max 部分 goroutine 編號
    棘手的 Golang 面試問題 - Max 部分 goroutine 編號
    在 Go 面試中,有時會讓應徵者措手不及的一個問題是「可以產生的 goroutine 的最大數量」。答案並不像說出一個具體數字那麼簡單。相反,面試官通常使用這個問題來評估您對 Go 並發模型、記憶體管理以及 goroutine 實踐經驗的理解。 以下是有效回答此問題的簡明指南: 理...
    程式設計 發佈於2024-11-15
  • 如何在 PHP 的 foreach 迴圈中存取元素的索引?
    如何在 PHP 的 foreach 迴圈中存取元素的索引?
    確定 foreach 索引foreach 循環提供了一種迭代數組的便捷方法,但顯示每個元素的索引可以是挑戰。與傳統的 for 迴圈不同,似乎無法直接存取索引變數。 使用Fo​​r 迴圈在for 迴圈中,可以明確遞增索引,如下所示:for ($i = 0; $i < 10; $i) { ...
    程式設計 發佈於2024-11-15
  • 如何防止 Goroutine 中 HTTP 請求逾時後繼續?
    如何防止 Goroutine 中 HTTP 請求逾時後繼續?
    Goroutine Timeout提供的函數 Find() 使用 goroutine 發出一系列 HTTP 請求並處理它們的回應。然而,令人擔憂的是,即使這些請求超過了指定的逾時時間,這些請求也會在後台繼續運作。 潛在的 Goroutine 洩漏不太可能存在 Goroutine 洩漏代碼。當Find...
    程式設計 發佈於2024-11-15
  • 如何在 PHP 中從陣列中檢索物件屬性列?
    如何在 PHP 中從陣列中檢索物件屬性列?
    從陣列中擷取物件屬性列在應用程式中,通常需要從物件清單中提取特定屬性。這個任務可以在 PHP 中有效率地完成,特別是在較新的語言版本。 使用 array_column() 提取屬性PHP 7.0 及更高版本引入了 array_column() 函數,專為此目的而設計。要擷取一列屬性值,只要將cats...
    程式設計 發佈於2024-11-15
  • 私有資料成員與公共變數:什麼時候應該使用 Getter 和 Setter?
    私有資料成員與公共變數:什麼時候應該使用 Getter 和 Setter?
    透過存取控制平衡私有資料成員在物件導向程式設計中,使用私有資料成員與公用getter 和setter 與使用私有資料成員與公共getter 和setter 之間的爭論公開所有變數仍然是一個討論的話題。 私有資料成員和存取控制私有資料成員的主要目的是強制封裝和資料抽象,確保資料完整性和存取控制。透過限...
    程式設計 發佈於2024-11-15
  • Gdevelop o 代碼遊戲引擎功能。
    Gdevelop o 代碼遊戲引擎功能。
    如果你的專案規模不是那麼大,現在的遊戲開發變得很容易。 我使用 Unity 遊戲引擎來開發遊戲,但我厭倦了為腳本檔案編寫或生成程式碼。 我了解了 Gdevelop 5 遊戲引擎。它需要零編碼,但需要一點物理和數學知識。 您可以透過拖放遊戲物件來創建遊戲。 最佳功能: 只需設計精靈和行為 平台...
    程式設計 發佈於2024-11-15

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

Copyright© 2022 湘ICP备2022001581号-3