タイムスタンプを使用する場合、標準の Unix エポック タイムスタンプ以外の形式に遭遇することがよくあります。たとえば、tar は 2011-01-19 22:15 の形式でタイムスタンプを生成します。 Go でこのようなタイムスタンプを解析するには、time.Parse 関数を使用します。
ただし、単に time.Parse("2011-01-19 22:15", "2011-01-19 22:15) を呼び出すだけです。 ") を実行すると、「解析時間 2011-01-19 22:15: 月が範囲外です」というエラーが発生します。その理由を理解するには、time.Parse 関数の型破りな API を詳しく調べる必要があります。
書式設定文字列の特徴
time.Parse 関数には、以下を指定する書式設定文字列が必要です。入力タイムスタンプを解釈する方法。ここでは、2006-01-02 15:04 形式を使用しましょう。この文字列は、Go 時間パッケージのドキュメントに記載されている規則に従います:
To独自の形式を定義する場合は、標準形式の要素がカスタム形式でどのように表示されるかを指定するだけで済みます。たとえば、この場合、結果の形式は 2006-01-02 15:04 になります。
タイムスタンプの解析
書式設定文字列を指定すると、次のようになります。タイムスタンプを解析できるようになりました:
import "time" func main() { t, err := time.Parse("2006-01-02 15:04", "2011-01-19 22:15") if err != nil { fmt.Println(err) return } fmt.Println(t) }
これにより、タイムスタンプを付けて、結果の time.Time オブジェクトを表示します。
以上がGo で非標準の日付と時刻を正しく解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。