[解決済み] time.Timeを文字列に変換する
質問
データベースからいくつかの値を
[]string
をGoで実行します。そのうちのいくつかは、タイムスタンプです。
エラーが出ます。
U.Created_date (type time.Time) を文字列として配列要素で使用することはできません。
を変換することはできますか?
time.Time
から
string
?
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, US.Timestamp, US.Created_date}
// -------------
// ^ this is where the error occurs
// cannot use U.Created_date (type time.Time) as type string in array element (for US.Created_date and US.Timestamp aswell)
// -------------
usersArray = append(usersArray, user)
log.Print("usersArray: ", usersArray)
}
EDIT
を追加しました。これで動作するようになりました、ありがとうございます。
userCreatedDate := U.Created_date.Format("2006-01-02 15:04:05")
userSessionCreatedDate := US.Created_date.Format("2006-01-02 15:04:05")
userSessionTimestamp := US.Timestamp.Format("2006-01-02 15:04:05")
解決方法は?
を使用することができます。
Time.String()
メソッドを使用して
time.Time
を
string
. これは、フォーマット文字列
"2006-01-02 15:04:05.999999999 -0700 MST"
.
他のカスタムフォーマットが必要な場合は
Time.Format()
. 例えば、タイムスタンプを次のような形式で取得します。
yyyy-MM-dd HH:mm:ss
というフォーマット文字列を使用します。
"2006-01-02 15:04:05"
.
例
t := time.Now()
fmt.Println(t.String())
fmt.Println(t.Format("2006-01-02 15:04:05"))
出力(で試してみてください。 囲碁プレイグラウンド ):
2009-11-10 23:00:00 +0000 UTC
2009-11-10 23:00:00
注:Go Playground の時刻は常に上記の値に設定されています。ローカルで実行すると、現在の日付/時刻が表示されます。
また
Time.Format()
として、レイアウト
string
と呼ばれる、同じ時間を渡す必要があります。
参照
time-formatted in the way you want to be formatted in the result. これは
Time.Format()
:
Formatは、レイアウトに従ってフォーマットされた時間値のテキスト表現を返す。レイアウトは、次のように定義された参照時間を示すことによってフォーマットを定義する。
Mon Jan 2 15:04:05 -0700 MST 2006
は値として表示されます。同じ表示規則が時間値にも適用される。
関連
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】大文字・小文字を区別しない「Contains(string)
-
[解決済み】Swift - 文字列を複数行に分割する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] strposではなく、単語が見つかったときのStataフラグ
-
[解決済み] 一見、空のファイルや文字列がmd5sumを生成するのはなぜですか?
-
[解決済み] ある文字列が他の文字列を含んでいるかどうかをチェックする
-
[解決済み] Luaでstring.gmatch()を使って文字列を分割する
-
[解決済み】Goで空の文字列をテストする最良の方法は何ですか?
-
[解決済み】Java7で文字列からパスを作成する。
-
[解決済み】文字列リテラルに対して文字列をマッチングさせる方法は?
-
[解決済み】Scala:文字列のイテラブルを結合する
-
[解決済み】Swift - 文字列を複数行に分割する
-
[解決済み】2つの部分文字列の間にある文字列を検索する【重複あり