אינדקס
Duration
(הודעה)
משך הקורס
משך הזמן מייצג טווח זמן קבוע באורך קבוע, שמיוצג כמספר שניות ושברים של שניות ברזולוציה של ננו-שנייה. הוא לא תלוי ביומן ובמושגים כמו 'יום' או 'חודש'. היא קשורה ל-Timestamp בכך שההפרש בין שני ערכים של Timestamp הוא 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, כולל. |