Package google.protobuf

সূচক

সময়কাল

একটি সময়কাল ন্যানোসেকেন্ড রেজোলিউশনে সেকেন্ডের গণনা এবং সেকেন্ডের ভগ্নাংশ হিসাবে উপস্থাপিত সময়ের একটি স্বাক্ষরিত, নির্দিষ্ট দৈর্ঘ্যের স্প্যানকে উপস্থাপন করে। এটি যেকোনো ক্যালেন্ডার এবং "দিন" বা "মাস" এর মত ধারণা থেকে স্বাধীন। এটি টাইমস্ট্যাম্পের সাথে সম্পর্কিত যে দুটি টাইমস্ট্যাম্প মানের মধ্যে পার্থক্য হল একটি সময়কাল এবং এটি একটি টাইমস্ট্যাম্প থেকে যোগ বা বিয়োগ করা যেতে পারে। পরিসীমা প্রায় +-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 সময়ের ব্যবধানে স্বাক্ষরিত সেকেন্ড। হতে হবে -315,576,000,000 থেকে +315,576,000,000 সহ।
nanos int32 সময়ের ব্যবধানের ন্যানোসেকেন্ড রেজোলিউশনে এক সেকেন্ডের স্বাক্ষরিত ভগ্নাংশ। এক সেকেন্ডের কম সময়কাল একটি 0 seconds ক্ষেত্র এবং একটি ইতিবাচক বা নেতিবাচক nanos ক্ষেত্র দিয়ে উপস্থাপন করা হয়। এক সেকেন্ড বা তার বেশি সময়ের জন্য, nanos ক্ষেত্রের জন্য একটি অ-শূন্য মান অবশ্যই seconds ক্ষেত্রের মতো একই চিহ্নের হতে হবে। -999,999,999 থেকে +999,999,999 সহ হতে হবে।