אינדקס
DateTime
מייצג את השעה האזרחית (או לפעמים את השעה הפיזית).
הסוג הזה יכול לייצג זמן אזרחי באחת מכמה דרכים אפשריות:
- אם מוגדר utc_offset ו-time_zone לא מוגדר: שעה אזרחית ביום קלנדרי עם הפרש מסוים מ-UTC.
- כשהערך של time_zone מוגדר והערך של utc_offset לא מוגדר: שעה אזרחית ביום קלנדרי באזור זמן מסוים.
- אם לא מוגדרים time_zone או utc_offset: שעה אזרחית ביום קלנדרי לפי שעון מקומי.
התאריך הוא ביחס ליומן הגרגוריאני הפרולפטי.
אם הערך של השנה, החודש או היום הוא 0, התאריך והשעה שבהם התאריך והשעה הם לא שנה, חודש או יום ספציפיים, בהתאמה.
אפשר להשתמש בסוג הזה גם כדי לייצג זמן פיזי אם כל שדות התאריך והשעה מוגדרים, וגם אם מוגדרת אחת מהאפשרויות של ה-oneof של time_offset
. במקום זאת, כדאי להשתמש בהודעה Timestamp
לזמן פיזי. אם בתרחישים לדוגמה שלכם אתם רוצים לשמור גם את אזור הזמן של המשתמש, תוכלו לעשות זאת בשדה אחר.
הסוג הזה גמיש יותר מאפליקציות מסוימות. חשוב לתעד ולאמת את המגבלות של האפליקציה.
שדות | |
---|---|
year |
זה שינוי אופציונלי. השנה של התאריך. חייב להיות בין 1 ל-9999, או 0 אם מציינים תאריך ושעה ללא שנה. |
month |
זה שינוי אופציונלי. החודש בשנה. הערך חייב להיות בין 1 ל-12, או 0 אם מציינים תאריך ושעה ללא חודש. |
day |
זה שינוי אופציונלי. היום בחודש. הערך חייב להיות בין 1 ל-31 ותקף לשנה ולחודש, או 0 אם מציינים תאריך ושעה ללא יום. |
hours |
זה שינוי אופציונלי. שעות היום בפורמט של 24 שעות. הערך צריך להיות בין 0 ל-23. ברירת המחדל היא 0 (חצות). ממשק API יכול לבחור לאפשר את הערך '24:00:00' בתרחישים כמו שעת סגירת העסק. |
minutes |
זה שינוי אופציונלי. הדקות בשעה ביום. הערך חייב להיות בין 0 ל-59, ברירת המחדל היא 0. |
seconds |
זה שינוי אופציונלי. השניות של הדקות בפונקציית הזמן. בדרך כלל צריך להיות בין 0 ל-59, ערך ברירת המחדל הוא 0. ממשק API עשוי לאפשר את הערך 60 אם הוא מאפשר שניות רגילות. |
nanos |
זה שינוי אופציונלי. פלחי שניות בננו-שניות. הערך חייב להיות בין 0 ל-999,999,999. ברירת המחדל היא 0. |
שדה איחוד time_offset . זה שינוי אופציונלי. מציין את הסטייה משעון UTC או את אזור הזמן של DateTime. חשוב לבחור ביניהם בקפידה, כי נתוני אזור הזמן עשויים להשתנות בעתיד (לדוגמה, מדינה משנה את תאריכי ההתחלה והסיום של שעון קיץ, ו-DateTimes עתידיים בטווח המושפע כבר אוחסנו). אם השדה הזה חסר, המערכת מתייחסת ל-DateTime כאל זמן מקומי. הערך של time_offset יכול להיות רק אחת מהאפשרויות הבאות: |
|
utc_ |
קיזוז ל-UTC. צריך להזין מספר שלם של שניות, בין 18 שעות אחורה ל-18 שעות קדימה. לדוגמה, אם ההיסט מ-UTC הוא -4:00, הוא יופיע כ-{ seconds: -14400 }. |
time_ |
אזור זמן. |
TimeOfDay
מייצגת שעה ביום. התאריך ואזור הזמן לא חשובים או שצוינו במקום אחר. יכול להיות ש-API יבחר לאפשר שניות מדלגות. הסוגים הקשורים הם google.type.Date
ו-google.protobuf.Timestamp
.
שדות | |
---|---|
hours |
השעות ביום בפורמט של 24 שעות. הערך חייב להיות גדול מ-0 או שווה לו, ובדרך כלל חייב להיות קטן מ-23 או שווה לו. ממשק API יכול לבחור לאפשר את הערך '24:00:00' בתרחישים כמו שעת סגירת העסק. |
minutes |
דקות בשעה. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-59 או שווה לו. |
seconds |
שניות בדקה. הערך חייב להיות גדול מ-0 או שווה לו, ובדרך כלל חייב להיות קטן מ-59 או שווה לו. ממשק API עשוי לאפשר את הערך 60 אם הוא מאפשר שניות רגילות. |
nanos |
חלקי שנייה, בננו-שניות. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-999,999,999 או שווה לו. |
TimeZone
מייצג אזור זמן ממסד הנתונים של אזור הזמן IANA.
שדות | |
---|---|
id |
אזור זמן IANA Time Zone Database, למשל "America/New_York". |
version |
זה שינוי אופציונלי. מספר הגרסה של IANA Time Zone Database, למשל: "2019a". |