20

エポック以降のミリ秒の文字列を取得しました(元々はjava.lang.System.currentTimeMillis()呼び出しからのものです)。この文字列をGoで人間が読めるタイムスタンプ文字列に変換する正しい方法は何ですか?

時間パッケージを見ると関数が表示Parseされますが、レイアウトはすべて通常のタイムゾーン ベースの時間のようです。Time オブジェクトにFormat(Time.Stamp)入ると、必要な出力を取得するために使用できますが、文字列を Time オブジェクトに取得する方法がわかりません。

4

4 に答える 4

40

フォーマット文字列はエポック以降のミリ秒をサポートしていないため、手動で解析する必要があります。例えば:

func msToTime(ms string) (time.Time, error) {
    msInt, err := strconv.ParseInt(ms, 10, 64)
    if err != nil {
        return time.Time{}, err
    }

    return time.Unix(0, msInt*int64(time.Millisecond)), nil
}

http://play.golang.org/p/M1dWGLT8XEをチェックして、ライブでサンプルを試してみてください。

于 2012-11-08T18:13:02.313 に答える