खोज…


परिचय

गो time पैकेज time मापने और प्रदर्शित करने के लिए कार्यक्षमता प्रदान करता है।

यह पैकेज एक संरचना time.Time प्रदान करता है, जो दिनांक और समय पर संगणना को संग्रहीत और करने की अनुमति देता है।

वाक्य - विन्यास

  • time.Date (2016, time। समय, 31, 23, 59, 59, 999, time.UTC) // initialize
  • तारीख 1 == तारीख 2 // रिटर्न true जब 2 एक ही पल हैं
  • date1! = date2 // जब 2 अलग-अलग पल होते हैं तो true होता है
  • date1.Before (तारीख 2) // रिटर्न true जब पहला दूसरे से पहले सख्ती से है
  • date1.After (तारीख 2) // रिटर्न true जब पहला सख्ती से दूसरे के बाद है

जब फ़ंक्शन में कोई त्रुटि हो, तो Time.Time शून्य मान लौटाएं

const timeFormat = "15 Monday January 2006"

func ParseDate(s string) (time.Time, error) {
    t, err := time.Parse(timeFormat, s)
    if err != nil {
        // time.Time{} returns January 1, year 1, 00:00:00.000000000 UTC
        // which according to the source code is the zero value for time.Time
        // https://golang.org/src/time/time.go#L23
        return time.Time{}, err
    }
    return t, nil
}

समय पार्सिंग

यदि आपके पास एक तार के रूप में एक तारीख संग्रहीत है, तो आपको इसे पार्स करने की आवश्यकता होगी। उपयोग time.Parse

//           time.Parse(   format   , date to parse)
date, err := time.Parse("01/02/2006",  "04/08/2017")
if err != nil {
    panic(err)
}

fmt.Println(date)
// Prints 2017-04-08 00:00:00 +0000 UTC

पहला पैरामीटर वह लेआउट होता है जिसमें स्ट्रिंग तारीख को संग्रहीत करता है और दूसरा पैरामीटर वह स्ट्रिंग होता है जिसमें तारीख होती है। 01/02/2006 प्रारूप MM/DD/YYYY कहने की तुलना में समान है।

लेआउट प्रारूप को परिभाषित करता है कि कैसे संदर्भ समय, Mon Jan 2 15:04:05 -0700 MST 2006 रूप में परिभाषित किया गया है अगर यह मान था; यह इनपुट प्रारूप के एक उदाहरण के रूप में कार्य करता है। फिर उसी व्याख्या को इनपुट स्ट्रिंग के लिए बनाया जाएगा।

लेआउट स्ट्रिंग लिखने का तरीका जानने के लिए आप समय पैकेज में परिभाषित स्थिरांक देख सकते हैं, लेकिन ध्यान दें कि स्थिरांक निर्यात नहीं किए जाते हैं और उन्हें समय पैकेज के बाहर उपयोग नहीं किया जा सकता है।

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
    stdISO8601SecondsTZ      // "Z070000"
    stdISO8601ShortTZ        // "Z07"
    stdISO8601ColonTZ        // "Z07:00" // prints Z for UTC
    stdISO8601ColonSecondsTZ // "Z07:00:00"
    stdNumTZ                 // "-0700"  // always numeric
    stdNumSecondsTz          // "-070000"
    stdNumShortTZ            // "-07"    // always numeric
    stdNumColonTZ            // "-07:00" // always numeric
    stdNumColonSecondsTZ     // "-07:00:00"
)

तुलना समय

कुछ समय के लिए आपको 2 तिथियों की वस्तुओं के साथ जानना होगा, यदि एक ही तिथि के अनुरूप हैं, या पाते हैं कि कौन सी तिथि दूसरे के बाद है।

गो में , दिनांक की तुलना करने का 4 तरीका है:

  • date1 == date2 , जब 2 एक ही क्षण में true हो जाता है
  • date1 != date2 , जब 2 अलग-अलग पल होते हैं, तब true होता है
  • date1.Before(date2) , पहले जब सख्ती से दूसरे से पहले true हो जाता है
  • date1.After(date2) , जब दूसरे के बाद पहली सख्ती होती true तो true होती है

चेतावनी: जब तुलना करने के लिए 2 समय समान हैं (या सटीक उसी तिथि के अनुरूप हैं), तो कार्य After Before और After में false वापस आ जाएंगे, क्योंकि तिथि न तो पहले और न ही बाद में है

  • date1 == date1 , true
  • date1 != date1 , false देता false
  • date1.After(date1) , false देता false
  • date1.Before(date1) , false देता false

सुझाव: यदि आपको यह जानना आवश्यक है कि कोई तिथि पहले है या किसी अन्य के बराबर है, तो आपको 4 ऑपरेटरों को संयोजित करने की आवश्यकता है

  • date1 == date2 && date1.After(date2) , date1 == date2 && date1.After(date2) 1 के बाद या बराबर तारीख 2 होने पर true होता है
    या का उपयोग कर ! (date1.Before(date2))
  • date1 == date2 && date1.Before(date2) , date1 == date2 && date1.Before(date2) 1 या 2 के बराबर या उससे पहले या तारीख !(date1.After(date2)) का उपयोग करने पर true हो जाता है !(date1.After(date2))

उपयोग करने के तरीके देखने के लिए कुछ उदाहरण:

// Init 2 dates for example
var date1 = time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
var date2 = time.Date(2017, time.July, 25, 16, 22, 42, 123, time.UTC)
var date3 = time.Date(2017, time.July, 25, 16, 22, 42, 123, time.UTC)

bool1 := date1.Before(date2) // true, because date1 is before date2
bool2 := date1.After(date2) // false, because date1 is not after date2

bool3 := date2.Before(date1) // false, because date2 is not before date1
bool4 := date2.After(date1) // true, because date2 is after date1

bool5 := date1 == date2 // false, not the same moment
bool6 := date1 == date3 // true, different objects but representing the exact same time

bool7 := date1 != date2 // true, different moments
bool8 := date1 != date3 // false, not different moments

bool9 := date1.After(date3) // false, because date1 is not after date3 (that are the same)
bool10:= date1.Before(date3) // false, because date1 is not before date3 (that are the same)

bool11 := !(date1.Before(date3)) // true, because date1 is not before date3
bool12 := !(date1.After(date3)) // true, because date1 is not after date3


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow