ホームページ >バックエンド開発 >Golang >文字列配列を追加するために Go の time.Time を文字列に変換するにはどうすればよいですか?

文字列配列を追加するために Go の time.Time を文字列に変換するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-28 01:02:12927ブラウズ

How to Convert Go's time.Time to String for String Array Appending?

Golang で time.Time を文字列に変換する

Go では、time.Time タイムスタンプを文字列配列に直接追加しようとすると、エラーが発生することがあります。これを解決するには、String() メソッドまたは Format() メソッドを使用して、time.Time 値を文字列に変換します。

String() メソッド

String() メソッドは、time.Time を変換します。デフォルトの形式「2006-01-02 15:04:05.999999999 -0700 MST」を使用して文字列に変換します。例:

import (
    "fmt"
    "time"
)

func main() {
    t := time.Now()
    fmt.Println(t.String()) // Output: 2023-05-09 11:33:42.134942534 -0500 CST
}

Format() メソッド

カスタム形式が必要な場合は、レイアウト文字列を渡すことで Format() メソッドを使用できます。たとえば、タイムスタンプを「yyyy-MM-dd HH:mm:ss」の形式にするには:

t := time.Now()
fmt.Println(t.Format("2006-01-02 15:04:05")) // Output: 2023-05-09 11:33:42

使用例

コード内で次のように変換することでエラーを修正できます。 time.Time 値を文字列配列に追加する前に、文字列に値を追加します:

type UsersSession struct {
    Userid int
    Timestamp time.Time
    Created_date time.Time
}

type Users struct {
    Name string
    Email string
    Country string
    Created_date time.Time
    Id int
    Hash string
    IP string
}

var usersArray = [][]string{}

rows, err := db.Query("SELECT u.id, u.hash, u.name, u.email, u.country, u.IP, u.created_date, us.timestamp, us.created_date FROM usersSession AS us LEFT JOIN users AS u ON u.id = us.userid WHERE us.timestamp + interval 30 minute >= now()")

U := Users{}
US := UsersSession{}

for rows.Next() {
    err = rows.Scan(&U.Id, &U.Hash, &U.Name, &U.Email, &U.Country, &U.IP, &U.Created_date, &US.Timestamp, &US.Created_date)
    checkErr(err)

    userid_string := strconv.Itoa(U.Id)
    user := []string{userid_string, U.Hash, U.Name, U.Email, U.Country, U.IP, U.Created_date.String(), US.Timestamp.String(), US.Created_date.String()}

    usersArray = append(usersArray, user)
}

String() メソッドを使用すると、 time.Time 値を文字列として []string 配列に正常に追加できます。

以上が文字列配列を追加するために Go の time.Time を文字列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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