इंडेक्स
Duration
(मैसेज)
कुल समय
अवधि, नैनोसेकंड रिज़ॉल्यूशन में सेकंड के हिसाब से, सेकंड की संख्या और सेकंड के अंश के रूप में हस्ताक्षर की गई एक तय अवधि दिखाती है. यह किसी भी कैलेंडर और सिद्धांत से अलग होता है, जैसे कि "दिन" या "महीना". यह टाइमस्टैंप से जुड़ा है, क्योंकि दो टाइमस्टैंप की वैल्यू के बीच का अंतर, कुल अवधि है. इसे टाइमस्टैंप से जोड़ा या घटाया जा सकता है. सीमा करीब +-10,000 वर्ष है.
उदाहरण 1: सूडो कोड में दो टाइमस्टैंप से कुल समय का हिसाब लगाएं.
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: टाइमस्टैंप से अपने हिसाब से, टाइमस्टैंप की जानकारी और सूडो कोड में दिखने वाली अवधि का हिसाब लगाएं.
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,576,000,000 से +3,15,57,60,00,000 तक होना चाहिए. |
nanos |
int32 |
समय के दौरान नैनोसेकंड रिज़ॉल्यूशन पर सेकंड के हस्ताक्षर वाले अंश. एक सेकंड से भी कम समय की अवधि, 0 seconds फ़ील्ड और पॉज़िटिव या नेगेटिव nanos फ़ील्ड के साथ दिखाई जाती है. एक सेकंड या उससे ज़्यादा समय के लिए, nanos फ़ील्ड की नॉन-ज़ीरो वैल्यू seconds फ़ील्ड के बराबर होनी चाहिए. -999,999,999 से +999,999,999 के बीच होना चाहिए. |