टाइमस्टैम्प को स्ट्रिंग के रूप में परिवर्तित करें [डुप्लिकेट]

Dec 07 2020

मैं एक टाइमस्टैम्प को स्ट्रिंग के रूप में प्राप्त करना चाहता हूं। यदि मैं stringरूपांतरण का उपयोग करता हूं तो मुझे कोई त्रुटि नहीं मिली लेकिन आउटपुट पठनीय नहीं है। बाद में, हम इसे एक फ़ाइल नाम के हिस्से के रूप में चाहते हैं। यह उदाहरण के लिए एक प्रश्न चिह्न जैसा दिखता है mark मुझे इस तरह के कुछ उदाहरण मिले:https://play.golang.org/p/bq2h3h0YKpपूरी तरह से मुझे समस्या हल नहीं है। धन्यवाद

now := time.Now()      // current local time
sec := now.Unix()      // number of seconds since January 1, 1970 UTC
fmt.Println(string(sec))

मैं टाइमस्टैम्प को स्ट्रिंग के रूप में कैसे प्राप्त कर सकता हूं?

जवाब

2 Gealber Dec 07 2020 at 05:52

मेरे लिए कुछ इस तरह से काम करता है

package main

import (
    "fmt"
    "strconv"
    "time"
)

func main() {
    now := time.Now()
    unix := now.Unix()
    fmt.Println(strconv.FormatInt(unix, 10))
}
1 Jens Dec 07 2020 at 05:51

यहां दो उदाहरण दिए गए हैं कि आप एक यूनिक्स टाइमस्टैम्प को स्ट्रिंग में कैसे बदल सकते हैं।

पहला उदाहरण ( s1) strconvपैकेज और उसके फ़ंक्शन का उपयोग करता है FormatInt। दूसरा उदाहरण ( s2) fmtपैकेज ( प्रलेखन ) और इसके फ़ंक्शन का उपयोग करता है Sprintf

व्यक्तिगत रूप से, मुझे Sprintfसौंदर्य की दृष्टि से विकल्प अधिक पसंद है । मैंने अभी तक प्रदर्शन की जांच नहीं की।

package main

import "fmt"
import "time"
import "strconv"

func main() {
    t := time.Now().Unix() // t is of type int64
    
    // use strconv and FormatInt with base 10 to convert the int64 to string
    s1 := strconv.FormatInt(t, 10)
    fmt.Println(s1)
    
    // Use Sprintf to create a string with format:
    s2 := fmt.Sprintf("%d", t)
    fmt.Println(s2)
}

गोलांग खेल का मैदान: https://play.golang.org/p/jk_xHYK_5Vu