ホームページ >バックエンド開発 >Golang >Go で YYYYMMDD 文字列を有効な日付に変換するにはどうすればよいですか?

Go で YYYYMMDD 文字列を有効な日付に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-26 10:32:03382ブラウズ

How to convert a YYYYMMDD string to a valid date in Go?

Go で YYYYMMDD 文字列を有効な日付に変換する

このタスクは、Go で YYYYMMDD 文字列を有効な日付に変換することです。たとえば、「20101011」から「2010-10-11」です。

試行と失敗:

両方を使用して試行されました:

  1. now := time.Now().Format("20101011")
  2. date, _ := time.Parse("20101011", "20101011")

ただし

解決策:

time パッケージには、Time.Format() および Time.Parse() で利用できるさまざまな定義済みレイアウトが用意されています。 ) メソッド。 YYYYMMDD 形式の場合、対応するレイアウト文字列は「20060102」です。 YYYY-MM-DD 形式を取得するには、レイアウト文字列「2006-01-02」を使用します。

実装:

<code class="go">package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now()
    fmt.Println(now) // Output: 2009-11-10 23:00:00 +0000 UTC

    // Convert the current time to a string in YYYYMMDD format
    date := now.Format("20060102") 
    fmt.Println(date) // Output: 20091110

    // Convert the current time to a string in YYYY-MM-DD format
    date = now.Format("2006-01-02")
    fmt.Println(date) // Output: 2009-11-10

    // Parse a string in YYYYMMDD format back into a date
    date2, err := time.Parse("20060102", "20101011")
    if err == nil {
        fmt.Println(date2) // Output: 2010-10-11 00:00:00 +0000 UTC
    }
}</code>

出力:

2009-11-10 23:00:00 +0000 UTC
20091110
2009-11-10
2010-10-11 00:00:00 +0000 UTC

以上がGo で YYYYMMDD 文字列を有効な日付に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。