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, כולל.