एक yyyMMddHHmmss प्रारूप का उपयोग करके वर्तमान समय को कैसे प्रारूपित करें?


118

मैं इस प्रारूप का उपयोग करके वर्तमान समय को प्रारूपित करने का प्रयास कर रहा हूं yyyyMMddHHmmss

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

यह आउटपुट है:

yyyyMMddHHmmss

कोई सुझाव?


यहाँ एक खेल का नमूना है कि कैसे दिनांक स्वरूपण कार्य करता है। यह दोनों समय-समय पर स्ट्रिंग को परिवर्तित करना और एक विशिष्ट प्रारूप में एक समय प्रिंट करना है। play.golang.org/p/qK6_9KNJNx
Nitesh

जवाबों:


241

उपयोग

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

जैसा कि गो निम्नलिखित स्थिरांक का उपयोग प्रारूप तिथि करने के लिए करता है, यहां देखें

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
)

56
स्वाभाविक रूप से गोलंग प्रारूप बहुत अजीब है। क्यों नहीं yyyymmddHHiiss शैली का उपयोग करें, लेकिन "2006/01/02/15/04/05" का उपयोग करें, मुझे इसका वास्तविक कारण नहीं मिला है
Kewin

11
लेआउट स्ट्रिंग समय टिकट का एक प्रतिनिधित्व है, 2 जनवरी 15:04:05 2006 एमएसटी। इस मूल्य को याद रखने का एक आसान तरीका यह है कि यह इस क्रम में प्रस्तुत किए जाने पर, मान (ऊपर दिए गए तत्वों के साथ पंक्तिबद्ध): 1 2 3 4 5 6 -7 golang.org/src/time/example_test.go से
kakilangit

28
अमेरिका के बाहर के लोगों के लिए मेनेमिक तकनीक: वह आंकड़ा जो आप २००६ की २ जनवरी को कर रहे थे, १५:०४ के ठीक पाँच सेकंड बाद, लेकिन कल्पना कीजिए कि यह बुर्किना फ़ासो (UTC-।) में घटित होगा। अगली बार जब आपको कोई दिनांक प्रारूपित करने की आवश्यकता हो, तो इस विशेष घटना (!) को याद रखें
Enrico

3
मैं अनुक्रमिक महामारी, काम नहीं जानता था, लेकिन यह 1 फरवरी को क्यों नहीं आया ...
silasdavis

4
तो मुझे केवल इतना याद रखना है कि महीने-दिन के आदेश में तारीख को पूरा करना है, फिर इसके बीच में समय को चिपकाएं, और वर्ष के बाद समय-क्षेत्र डालें, और यह याद रखना आसान हो जाता है। साफ। किसी को भी इस महामारी के आदेश को याद करने के लिए एक स्मृति चिन्ह मिला है ..?
जोए सबे

20

यह प्रश्न 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/


4

गोलंग में टाइम पैकेज के कुछ तरीके हैं जो देखने लायक हो सकते हैं।

func (समय) प्रारूप

func (t Time) प्रारूप (लेआउट स्ट्रिंग) स्ट्रिंग प्रारूप लेआउट के अनुसार स्वरूपित समय मान का एक पाठीय प्रतिनिधित्व देता है, जो संदर्भ समय को दर्शाता है कि प्रारूप को कैसे परिभाषित करता है,

यदि यह मान होता तो सोम २ जनवरी १५:०४:०700-M०० एमएसटी २००६ प्रदर्शित किया जाता; यह वांछित आउटपुट के उदाहरण के रूप में कार्य करता है। फिर उसी प्रदर्शन नियम को समय मान पर लागू किया जाएगा। पूर्वनिर्धारित लेआउट ANSIC, UnixDate, RFC3339 और अन्य संदर्भ समय के मानक और सुविधाजनक प्रतिनिधित्व का वर्णन करते हैं। प्रारूप और संदर्भ समय की परिभाषा के बारे में अधिक जानकारी के लिए, ANSIC और इस पैकेज द्वारा परिभाषित अन्य स्थिरांक के लिए प्रलेखन देखें।

स्रोत ( http://golang.org/pkg/time/#Time.Format )

मुझे लेआउट को परिभाषित करने का एक उदाहरण भी मिला ( http://golang.org/src/pkg/time/example_tv.it )

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)
    }

4
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
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.