DateTime

सिविल टाइम (या कभी-कभी फ़िज़िकल टाइम) को दिखाता है.

इस टाइप को कुछ संभावित तरीकों में से किसी एक तरीके से सिविल टाइम दिखाया जा सकता है:

  • जब utcOffset सेट हो और टाइमज़ोन सेट न हो: किसी कैलेंडर दिन पर यूटीसी से एक खास ऑफ़सेट के साथ सिविल टाइम.
  • जब टाइमज़ोन सेट होता है और utcOffset सेट नहीं होता है: किसी खास टाइम ज़ोन में, किसी कैलेंडर दिन पर सिविल टाइम.
  • जब समयक्षेत्र या utcOffset सेट न हो: स्थानीय समय में किसी कैलेंडर दिन पर नागरिक समय.

यह तारीख, प्रोलेप्टिक ग्रेगोरियन कैलेंडर से जुड़ी है.

अगर साल, महीना या दिन 0 है, तो तारीख और समय की जानकारी को उस साल, महीने या दिन की जानकारी नहीं माना जाएगा.

अगर सभी तारीख और समय फ़ील्ड सेट हैं और time_offset का कोई भी केस सेट है, तो इस टाइप का इस्तेमाल किसी फ़िज़िकल समय को दिखाने के लिए भी किया जा सकता है. इसके बजाय, समय बताने के लिए Timestamp मैसेज का इस्तेमाल करें. अगर इस्तेमाल का उदाहरण भी उपयोगकर्ता के टाइमज़ोन को सेव करना चाहता है, तो ऐसा किसी दूसरे फ़ील्ड में किया जा सकता है.

यह टाइप, कुछ ऐप्लिकेशन के मुकाबले ज़्यादा सुविधाजनक है. पक्का करें कि आपके आवेदन की सीमाओं के बारे में जानकारी दी गई हो और उनकी पुष्टि की गई हो.

जेएसओएन के काेड में दिखाना
{
  "year": integer,
  "month": integer,
  "day": integer,
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer,

  // Union field time_offset can be only one of the following:
  "utcOffset": string,
  "timeZone": {
    object (TimeZone)
  }
  // End of list of possible types for union field time_offset.
}
फ़ील्ड
year

integer

ज़रूरी नहीं. तारीख का साल. 1 से 9999 के बीच होना चाहिए या अगर वर्ष के बिना तारीख और समय दर्ज कर रहे हैं तो 0 होना चाहिए.

month

integer

ज़रूरी नहीं. वर्ष का महीना. यह 1 से 12 के बीच होना चाहिए या अगर तारीख को बिना महीने के बताया जा रहा है, तो 0 होना चाहिए.

day

integer

ज़रूरी नहीं. महीने का दिन. 1 से 31 के बीच होना चाहिए और वर्ष और महीने के लिए मान्य होना चाहिए या अगर दिन के बिना कोई तारीख और समय बता रहे हैं तो 0 होना चाहिए.

hours

integer

ज़रूरी नहीं. 24 घंटे के फ़ॉर्मैट में, दिन के घंटे. यह 0 से 23 के बीच होना चाहिए, डिफ़ॉल्ट रूप से 0 (मध्यरात्रि) पर सेट होता है. एपीआई, कारोबार के बंद होने जैसे मामलों में "24:00:00" वैल्यू दिखाने का विकल्प चुन सकता है.

minutes

integer

ज़रूरी नहीं. दिन के मिनट. यह 0 से 59 के बीच होना चाहिए. डिफ़ॉल्ट रूप से, यह 0 पर सेट होता है.

seconds

integer

ज़रूरी नहीं. समय के सेकंड. यह सामान्य रूप से 0 से 59 के बीच होना चाहिए, डिफ़ॉल्ट रूप से 0 पर सेट होता है. अगर एपीआई लीप-सेकंड की अनुमति देता है, तो हो सकता है कि एपीआई वैल्यू 60 की अनुमति दे.

nanos

integer

ज़रूरी नहीं. नैनोसेकंड में सेकंड के हिस्से. यह 0 से 99,99,99, 999 के बीच होना चाहिए. यह डिफ़ॉल्ट रूप से 0 पर सेट होता है.

यूनियन फ़ील्ड time_offset. ज़रूरी नहीं. तारीख और समय के यूटीसी ऑफ़सेट या टाइम ज़ोन के बारे में बताता है. आने वाले समय में टाइम ज़ोन के डेटा में बदलाव हो सकता है. इसे ध्यान में रखते हुए उनके बीच सावधानी से चुनें. उदाहरण के लिए, कोई देश अपनी डीएसटी के शुरू/खत्म होने की तारीखों में बदलाव करता है और प्रभावित सीमा में आने वाली तारीख और समय से जुड़ी जानकारी पहले ही स्टोर की जा चुकी है. अगर इसे शामिल नहीं किया जाता है, तो तारीख और समय को स्थानीय समय के हिसाब से माना जाता है. time_offset इनमें से सिर्फ़ एक हो सकती है:
utcOffset

string (Duration format)

यूटीसी ऑफ़सेट. -18 घंटे और +18 घंटे के बीच, पूरे सेकंड का होना चाहिए. उदाहरण के लिए, -4:00 का यूटीसी ऑफ़सेट { seconds: -14400 } के रूप में दिखाया जाएगा.

सेकंड में दी गई अवधि, जिसमें नौ भिन्नांक हो सकते हैं. साथ ही, यह 's' पर खत्म होता है. उदाहरण: "3.5s".

timeZone

object (TimeZone)

टाइम ज़ोन.

TimeZone

IANA टाइम ज़ोन डेटाबेस से किसी टाइम ज़ोन को दिखाता है.

जेएसओएन के काेड में दिखाना
{
  "id": string,
  "version": string
}
फ़ील्ड
id

string

IANA टाइम ज़ोन डेटाबेस का टाइम ज़ोन, जैसे कि "अमेरिका/New_York".

version

string

ज़रूरी नहीं. आईएएनए टाइम ज़ोन डेटाबेस का वर्शन नंबर, जैसे कि "2019a".