web-dev-qa-db-ja.com

yyyyMMddHHmmss形式を使用して現在の時刻をフォーマットする方法

この形式yyyyMMddHHmmssを使用して現在の時刻をフォーマットしようとしています。

t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))

それは出力しています:

yyyyMMddHHmmss

助言がありますか?

86
sergserg

つかいます

fmt.Println(t.Format("20060102150405"))

goは次の定数を使用して日付をフォーマットするため、 here を参照してください

const (
    stdLongMonth      = "January"
    stdMonth          = "Jan"
    stdNumMonth       = "1"
    stdZeroMonth      = "01"
    stdLongWeekDay    = "Monday"
    stdWeekDay        = "Mon"
    stdDay            = "2"
    stdUnderDay       = "_2"
    stdZeroDay        = "02"
    stdHour           = "15"
    stdHour12         = "3"
    stdZeroHour12     = "03"
    stdMinute         = "4"
    stdZeroMinute     = "04"
    stdSecond         = "5"
    stdZeroSecond     = "05"
    stdLongYear       = "2006"
    stdYear           = "06"
    stdPM             = "PM"
    stdpm             = "pm"
    stdTZ             = "MST"
    stdISO8601TZ      = "Z0700"  // prints Z for UTC
    stdISO8601ColonTZ = "Z07:00" // prints Z for UTC
    stdNumTZ          = "-0700"  // always numeric
    stdNumShortTZ     = "-07"    // always numeric
    stdNumColonTZ     = "-07:00" // always numeric
)
181
Cris

このユースケースのパッケージをコーディングしました https://github.com/vjeantet/jodaTime

date := jodaTime.Format("YYYY.MM.dd", time.Now())
fmt.Println(date)

JodaTimeレイアウトに続くtime.Timeを解析およびフォーマットできます: http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html

11
vjeantet

この質問は、「golang現在の時刻形式」が見つかったときにGoogle検索の上位に表示されるため、別の形式を使用するすべてのユーザーに対して、いつでも電話をかけることができます。

t := time.Now()

t.Year()

t.Month()

t.Day()

t.Hour()

t.Minute()

t.Second()

たとえば、現在の日付時刻を "YYYY-MM-DDTHH:MM:SS"(たとえば2019-01-22T12:40:55)として取得するには、fmt.Sprintfでこれらのメソッドを使用できます。

t := time.Now()
formatted := fmt.Sprintf("%d-%02d-%02dT%02d:%02d:%02d",
        t.Year(), t.Month(), t.Day(),
        t.Hour(), t.Minute(), t.Second())

いつものように、ドキュメントは学習の最良のソースであることを忘れないでください: https://golang.org/pkg/time/

6

GolangのTimeパッケージには、見る価値のあるメソッドがいくつかあります。

func(時間)形式

func(t Time)Format(layout string)string Formatは、レイアウトに従ってフォーマットされた時間値のテキスト表現を返します。

月1月2日15:04:05 -0700 MST 2006が値である場合は表示されます。これは、目的の出力の例として機能します。次に、同じ表示ルールが時間値に適用されます。事前定義されたレイアウトANSIC、UnixDate、RFC3339などは、参照時間の標準的で便利な表現を記述しています。参照時間の形式と定義の詳細については、ANSICのドキュメントおよびこのパッケージで定義されている他の定数を参照してください。

ソース( http://golang.org/pkg/time/#Time.Format

レイアウトの定義の例も見つけました( http://golang.org/src/pkg/time/example_test.go

func ExampleTime_Format() {
        // layout shows by example how the reference time should be represented.
        const layout = "Jan 2, 2006 at 3:04pm (MST)"
        t := time.Date(2009, time.November, 10, 15, 0, 0, 0, time.Local)
        fmt.Println(t.Format(layout))
        fmt.Println(t.UTC().Format(layout))
        // Output:
    // Nov 10, 2009 at 3:00pm (PST)
        // Nov 10, 2009 at 11:00pm (UTC)
    }
5
TheZelus
import("time")

layout := "2006-01-02T15:04:05.000Z"
str := "2014-11-12T11:45:26.371Z"
t, err := time.Parse(layout, str)
if err != nil {
    fmt.Println(err)
}
fmt.Println(t)

与える:

>> 2014-11-12 11:45:26.371 +0000 UTC
1
Cool.wen