Package google.protobuf

इंडेक्स

कुल समय

अवधि से हस्ताक्षर की गई और तय समय की अवधि का पता चलता है. इसे नैनोसेकंड रिज़ॉल्यूशन पर सेकंड के हिसाब से और सेकंड के फ़्रैक्शन के तौर पर दिखाया जाता है. यह किसी भी कैलेंडर और कॉन्सेप्ट से अलग है, जैसे कि "दिन" या "महीना". यह टाइमस्टैंप से जुड़ी है, क्योंकि दो टाइमस्टैंप की वैल्यू के बीच का अंतर समय होता है और इसे टाइमस्टैंप में से जोड़ा या घटाया जा सकता है. यह सीमा करीब-करीब 10,000 साल से ज़्यादा की है.

उदाहरण 1: pseudo code में दो टाइमस्टैंप से कुल समय का हिसाब लगाएं.

Timestamp start = ...;
Timestamp end = ...;
Duration duration = ...;

duration.seconds = end.seconds - start.seconds;
duration.nanos = end.nanos - start.nanos;

if (duration.seconds < 0 && duration.nanos > 0) {
  duration.seconds += 1;
  duration.nanos -= 1000000000;
} else if (duration.seconds > 0 && duration.nanos < 0) {
  duration.seconds -= 1;
  duration.nanos += 1000000000;
}

उदाहरण 2: टाइमस्टैंप से टाइमस्टैंप + pseudo code में अवधि की गिनती करें.

Timestamp start = ...;
Duration duration = ...;
Timestamp end = ...;

end.seconds = start.seconds + duration.seconds;
end.nanos = start.nanos + duration.nanos;

if (end.nanos < 0) {
  end.seconds -= 1;
  end.nanos += 1000000000;
} else if (end.nanos >= 1000000000) {
  end.seconds += 1;
  end.nanos -= 1000000000;
}
फ़ील्ड का नाम टाइप कंपनी का ब्यौरा
seconds int64 समयावधि के हस्ताक्षर वाले सेकंड. यह वैल्यू -3,15,57,00,000 से +3,15,57,00,000 के बीच होनी चाहिए.
nanos int32 इस समय के स्पैन के नैनोसेकंड रिज़ॉल्यूशन पर, सेकंड के हस्ताक्षर वाले अंश. एक सेकंड से कम की अवधि को 0 seconds फ़ील्ड और पॉज़िटिव या नेगेटिव nanos फ़ील्ड के ज़रिए दिखाया जाता है. एक सेकंड या उससे ज़्यादा की अवधि के लिए, nanos फ़ील्ड के लिए गैर-शून्य मान का चिह्न seconds फ़ील्ड के समान होना चाहिए. यह -9,99,99,999 से लेकर +9,99,999,999 के बीच होना चाहिए.