Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar rentetan YYYYMMDD kepada tarikh yang sah dalam Go?

Bagaimana untuk menukar rentetan YYYYMMDD kepada tarikh yang sah dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-10-26 10:32:03305semak imbas

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

Tukar Rentetan YYYYMMDD kepada Tarikh Sah dalam Go

Tugasnya adalah untuk menukar rentetan YYYYMMDD kepada tarikh yang sah dalam Go. Contohnya, "20101011" hingga "2010-10-11".

Percubaan dan Kegagalan:

Percubaan telah dibuat menggunakan kedua-duanya:

  1. sekarang := masa.Sekarang().Format("20101011")
  2. tarikh, _ := masa.Parse("20101011", "20101011")

Walau bagaimanapun , kedua-duanya tidak memberikan hasil yang positif.

Penyelesaian:

Pakej masa menawarkan julat reka letak yang telah ditetapkan yang boleh digunakan dalam Time.Format() dan Time.Parse( ) kaedah. Untuk format YYYYMMDD, rentetan reka letak yang sepadan ialah "20060102". Untuk mendapatkan format YYYY-MM-DD, gunakan rentetan reka letak "2006-01-02".

Pelaksanaan:

<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>

Output:

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

Atas ialah kandungan terperinci Bagaimana untuk menukar rentetan YYYYMMDD kepada tarikh yang sah dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn