यह सिविल टाइम (या कभी-कभी फ़िज़िकल टाइम) को दिखाता है.
इस तरह के मामलों में, सिविल टाइम को इनमें से किसी एक तरीके से दिखाया जा सकता है:
- जब utcOffset सेट हो और टाइमज़ोन सेट न हो: यूटीसी से किसी खास ऑफ़सेट के साथ कैलेंडर दिन का एक सिविल टाइम.
- जब टाइमज़ोन सेट किया गया हो और utcOffset सेट न हो: किसी खास टाइम ज़ोन में, कैलेंडर दिन का सिविल टाइम.
- जब timeZone या utcOffset, दोनों में से कोई भी सेट न हो: स्थानीय समय के हिसाब से, कैलेंडर का दिन का सिविल टाइम.
यह तारीख, प्रोलेप्टिक ग्रेगोरियन कैलेंडर के हिसाब से है.
अगर साल, महीना या दिन 0 है, तो DateTime को कोई खास साल, महीना या दिन नहीं माना जाएगा.
इस टाइप का इस्तेमाल, समय दिखाने के लिए भी किया जा सकता है. ऐसा तब होता है, जब तारीख और समय वाले सभी फ़ील्ड सेट हों और time_offset
में से दोनों में से कोई भी एक फ़ील्ड सेट हो. इसके बजाय, समय बिताने के लिए Timestamp
मैसेज का इस्तेमाल करें. अगर आपके इस्तेमाल का उदाहरण, उपयोगकर्ता के टाइमज़ोन को भी सेव करना है, तो ऐसा किसी दूसरे फ़ील्ड में किया जा सकता है.
यह कुछ ऐप्लिकेशन के काम करने के तरीके में ज़्यादा सुविधाजनक है. अपने ऐप्लिकेशन की सीमाओं का दस्तावेज़ बनाना और उनकी पुष्टि करना न भूलें.
JSON के काेड में दिखाना |
---|
{ "year": integer, "month": integer, "day": integer, "hours": integer, "minutes": integer, "seconds": integer, "nanos": integer, // Union field |
फ़ील्ड | |
---|---|
year |
ज़रूरी नहीं. तारीख का साल. 1 से 9999 तक होना चाहिए, या अगर साल के बिना तारीख और समय तय करना है, तो 0 होना चाहिए. |
month |
ज़रूरी नहीं. वर्ष का महीना. 1 से 12 तक होना चाहिए, या अगर महीने के बिना तारीख और समय तय किया जा रहा है, तो 0 होना चाहिए. |
day |
ज़रूरी नहीं. महीने का दिन. यह वैल्यू 1 से 31 के बीच होनी चाहिए. साथ ही, साल और महीने के लिए मान्य होनी चाहिए. अगर तारीख और दिन नहीं बताया जा रहा है, तो वैल्यू 0 होनी चाहिए. |
hours |
ज़रूरी नहीं. 24 घंटे के फ़ॉर्मैट में, दिन के घंटे. यह 0 से 23 के बीच होना चाहिए और डिफ़ॉल्ट रूप से 0 (मध्यरात्रि) पर सेट होना चाहिए. कोई एपीआई "24:00:00" वैल्यू को अनुमति देने का विकल्प चुन सकता है कारोबार के बंद होने का समय जैसी स्थिति के लिए. |
minutes |
ज़रूरी नहीं. दिन के घंटे के मिनट. यह 0 से 59 होना चाहिए और डिफ़ॉल्ट रूप से 0 होता है. |
seconds |
ज़रूरी नहीं. समय के मिनट के सेकंड. आम तौर पर, यह संख्या 0 से 59 होनी चाहिए और इसकी डिफ़ॉल्ट वैल्यू 0 होती है. अगर एपीआई, लीप-सेकंड की अनुमति देता है, तो हो सकता है कि एपीआई वैल्यू 60 को अनुमति दे. |
nanos |
ज़रूरी नहीं. नैनोसेकंड में सेकंड के फ़्रैक्शन. यह वैल्यू 0 से 9,99,99, 999 के बीच होनी चाहिए. यह डिफ़ॉल्ट रूप से 0 पर सेट होती है. |
यूनियन फ़ील्ड time_offset . ज़रूरी नहीं. यह UTC ऑफ़सेट या DateTime के टाइम ज़ोन के बारे में बताता है. भविष्य में समय क्षेत्र का डेटा बदल सकता है, इस बात को ध्यान में रखते हुए उनके बीच सावधानी से चुनें (उदाहरण के लिए, कोई देश अपनी DST प्रारंभ/समाप्ति तारीखों को संशोधित करता है और प्रभावित श्रेणी में आने वाले तारीख और समय पहले से ही संग्रहित किए जा चुके हैं). अगर तारीख और समय को हटाया जाता है, तो तारीख और स्थानीय समय के हिसाब से माना जाता है. time_offset इनमें से सिर्फ़ एक हो सकता है: |
|
utcOffset |
यूटीसी ऑफ़सेट. इसकी अवधि पूरे सेकंड होनी चाहिए, जो कि -18 घंटे और +18 घंटे के बीच की होनी चाहिए. उदाहरण के लिए, -4:00 के UTC ऑफ़सेट को { seconds: -14400 } के तौर पर दिखाया जाएगा. सेकंड में कुल नौ दशमलव अंक, जो ' |
timeZone |
टाइम ज़ोन. |
TimeZone
आईएएनए टाइम ज़ोन डेटाबेस से किसी टाइम ज़ोन को दिखाता है.
JSON के काेड में दिखाना |
---|
{ "id": string, "version": string } |
फ़ील्ड | |
---|---|
id |
IANA टाइम ज़ोन डेटाबेस का टाइम ज़ोन, जैसे "अमेरिका/New_York". |
version |
ज़रूरी नहीं. IANA टाइम ज़ोन डेटाबेस वर्शन संख्या, जैसे "2019a". |