אינדקס
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 |
חתימות שניות של אורך הזמן. חייב להיות בין -315,576,000,000 ל- +315,576,000,000 כולל. |
nanos |
int32 |
חתימות של שנייה בחתימה ברזולוציה ננו-שניות למשך הזמן. משכי זמן של פחות משנייה מיוצגים בשדה 0 seconds ובשדה nanos חיובי או שלילי. אם משך הזמן הוא שנייה אחת או יותר, הערך שאינו אפס בשדה nanos חייב להיות זהה לזה של השדה seconds . חייב להיות בין -999,999,999 ל- +999,999,999, כולל. |