Package google.type

אינדקס

DateTime

מייצג את השעה האזרחית (או לפעמים את השעה הפיזית).

הסוג הזה יכול לייצג זמן אזרחי באחת מכמה דרכים אפשריות:

  • אם מוגדר utc_offset ו-time_zone לא מוגדר: שעה אזרחית ביום קלנדרי עם הפרש מסוים מ-UTC.
  • כשהערך של time_zone מוגדר והערך של utc_offset לא מוגדר: שעה אזרחית ביום קלנדרי באזור זמן מסוים.
  • אם לא מוגדרים time_zone או utc_offset: שעה אזרחית ביום קלנדרי לפי שעון מקומי.

התאריך הוא ביחס ליומן הגרגוריאני הפרולפטי.

אם הערך של השנה, החודש או היום הוא 0, התאריך והשעה שבהם התאריך והשעה הם לא שנה, חודש או יום ספציפיים, בהתאמה.

אפשר להשתמש בסוג הזה גם כדי לייצג זמן פיזי אם כל שדות התאריך והשעה מוגדרים, וגם אם מוגדרת אחת מהאפשרויות של ה-oneof של time_offset. במקום זאת, כדאי להשתמש בהודעה Timestamp לזמן פיזי. אם בתרחישים לדוגמה שלכם אתם רוצים לשמור גם את אזור הזמן של המשתמש, תוכלו לעשות זאת בשדה אחר.

הסוג הזה גמיש יותר מאפליקציות מסוימות. חשוב לתעד ולאמת את המגבלות של האפליקציה.

שדות
year

int32

זה שינוי אופציונלי. השנה של התאריך. חייב להיות בין 1 ל-9999, או 0 אם מציינים תאריך ושעה ללא שנה.

month

int32

זה שינוי אופציונלי. החודש בשנה. הערך חייב להיות בין 1 ל-12, או 0 אם מציינים תאריך ושעה ללא חודש.

day

int32

זה שינוי אופציונלי. היום בחודש. הערך חייב להיות בין 1 ל-31 ותקף לשנה ולחודש, או 0 אם מציינים תאריך ושעה ללא יום.

hours

int32

זה שינוי אופציונלי. שעות היום בפורמט של 24 שעות. הערך צריך להיות בין 0 ל-23. ברירת המחדל היא 0 (חצות). ממשק API יכול לבחור לאפשר את הערך '24:00:00' בתרחישים כמו שעת סגירת העסק.

minutes

int32

זה שינוי אופציונלי. הדקות בשעה ביום. הערך חייב להיות בין 0 ל-59, ברירת המחדל היא 0.

seconds

int32

זה שינוי אופציונלי. השניות של הדקות בפונקציית הזמן. בדרך כלל צריך להיות בין 0 ל-59, ערך ברירת המחדל הוא 0. ממשק API עשוי לאפשר את הערך 60 אם הוא מאפשר שניות רגילות.

nanos

int32

זה שינוי אופציונלי. פלחי שניות בננו-שניות. הערך חייב להיות בין 0 ל-999,999,999. ברירת המחדל היא 0.

שדה איחוד time_offset. זה שינוי אופציונלי. מציין את הסטייה משעון UTC או את אזור הזמן של DateTime. חשוב לבחור ביניהם בקפידה, כי נתוני אזור הזמן עשויים להשתנות בעתיד (לדוגמה, מדינה משנה את תאריכי ההתחלה והסיום של שעון קיץ, ו-DateTimes עתידיים בטווח המושפע כבר אוחסנו). אם השדה הזה חסר, המערכת מתייחסת ל-DateTime כאל זמן מקומי. הערך של time_offset יכול להיות רק אחת מהאפשרויות הבאות:
utc_offset

Duration

קיזוז ל-UTC. צריך להזין מספר שלם של שניות, בין 18 שעות אחורה ל-18 שעות קדימה. לדוגמה, אם ההיסט מ-UTC הוא -4:00, הוא יופיע כ-{ seconds: -14400 }.

time_zone

TimeZone

אזור זמן.

TimeOfDay

מייצגת שעה ביום. התאריך ואזור הזמן לא חשובים או שצוינו במקום אחר. יכול להיות ש-API יבחר לאפשר שניות מדלגות. הסוגים הקשורים הם google.type.Date ו-google.protobuf.Timestamp.

שדות
hours

int32

השעות ביום בפורמט של 24 שעות. הערך חייב להיות גדול מ-0 או שווה לו, ובדרך כלל חייב להיות קטן מ-23 או שווה לו. ממשק API יכול לבחור לאפשר את הערך '24:00:00' בתרחישים כמו שעת סגירת העסק.

minutes

int32

דקות בשעה. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-59 או שווה לו.

seconds

int32

שניות בדקה. הערך חייב להיות גדול מ-0 או שווה לו, ובדרך כלל חייב להיות קטן מ-59 או שווה לו. ממשק API עשוי לאפשר את הערך 60 אם הוא מאפשר שניות רגילות.

nanos

int32

חלקי שנייה, בננו-שניות. הערך חייב להיות גדול מ-0 או שווה לו, וקטן מ-999,999,999 או שווה לו.

TimeZone

מייצג אזור זמן ממסד הנתונים של אזור הזמן IANA.

שדות
id

string

אזור זמן IANA Time Zone Database, למשל "America/New_York".

version

string

זה שינוי אופציונלי. מספר הגרסה של IANA Time Zone Database, למשל: "2019a".