|
31-03-2013, 09:30
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
ציטוט:
במקור נכתב על ידי Narion
כיוונתי את השעון ידנית, לשעה קדימה (ללא עדכון אוט'), כי לא סמכתי על השעון, ואז הוא צילצל ב04:30, במקום ב05:30.
איך זה קרה?
אלוהים יודע...
לפחות יצא לי לקום ממש מוקדם, לראות שקמתי שעה מוקדם יותר, ולהתפנק עוד שעה.
|
אני מסכים שאלוהים יודע, אבל גם אני יודע, ואני מוכן אפילו להסביר לך!
אז ככה. אנדרואיד זה בעצם מערכת לינוקס הותיקה והטובה, שעליה נטען ממשק גרפי שנכתב בגוגל. הבסיס של המערכת, לינוקס (הקרנל) ושאר הסביבה - הם כמו בכל לינוקס אחר.
כמו בכל מערכת הפעלה שמכבדת את עצמה (אל תתבלבל עם "חלונות" עד גירסת "ויסטה", ועם iOS של אפל עד כנראה לעולם ועד - שאינן עונות להגדרה זו), לינוקס היא מערכת שמודעת לקונספט של שעון קיץ באזורי זמן שונים, ומתי עוברים אליהם. כלומר לינוקס יודעת את כל מה שכתוב פה: http://he.wikipedia.org/wiki/%D7%A9...7.A0.D7.AA_2013 - כי זה מופיע לה בקובץ הגדרות שנמצא במיקום usr/share/zoneinfo/Israel/ (טוב, אולי באנדרואיד קבצי איזורי הזמן הושמו במקום אחר, אני מוכן לבדוק, אם חשוב לך...)
בהתאם למה שהיא יודעת, היא מבצעת מעבר אוטומטי ל"שעון קיץ" ו"שעון חורף" (טכנית זה נקרא Daylight Savings Time מופעל וכבוי, ומוצג על ידי המערכת כ Israel Standard Time - IST ו Israel Daylight-Savings Time - IDT). אין סיבה שהיא לא תעשה דבר כזה, כי אין בעולם אנשים לא שפויים שרוצים שהשעון שלהם יהיה... לא מכוון כמו השעונים של שאר אזרחי המדינה שלהם.
עכשיו מה קרה פה? אתה רגיל מהעולם של מיקרוסופט (שבו עד לחלונות ויסטה לא הייתה בכלל פונקציה של שעון קיץ על ארץ ישראל), ואולי מכתבות שקראת על העולם הכושל של חברת "אפל" - שלסמארטפון, כיוון שהוא "מחשב", ישנן בעיות בכל פעם שעוברים בין שעון חורף לקיץ, ולהפך, כך ששעונים מעוררים פועלים שעה לפני או שעה אחרי, השעה שהם כוונו.
הסיבה לכך שזה קורה בסמארטפונים מסויימים (ת'אכלס, רק מוצרי אפל...? אולי גם דרעק-ברי...) - היא - שהם כושלים. גם אם יש להם הגדרות של אזורי זמן, ויכולת לעבור בין שעון קיץ לחורף ולהפך, המהנדסים של היצרן עשו עבודה כושלת, והזינו נתונים לא נכונים למערכת, או לא הזינו בכלל. לכן, המכשיר לא עובר לשעון קיץ/חורף בזמן הנכון, כמצופה. כיוון שהוא בעצם נשאר בשעה הישנה - השעון המעורר שם יצפצף שעה לפני/אחרי השעה הרצוייה - פשוט משום שהוא מצפצף בדיוק 24 שעות אחרי הפעם הקודמת שהוא צפצף - רק שבינתיים השעון שלך זז.
כיוון שאתה היית "חכם", וחשבת להמנע מ"הבעייה", שכלל לא קיימת באנדרואיד (בלינוקס מעבר לשעון קיץ/חורף עבד מעולה 100% מהפעמים מאז שאני התחלתי להשתמש במערכת, בשנת 1997 - יש לציין - שזה אומר כמה שנים לפני שיצאה חלונות 2000 ו XP, שלא היה להם תירוץ לא לעבוד) - אז מה שאתה עשית, היה "לכוון את השעון לבד" (שעה קדימה), ואז לבטל עדכוני זמן אוטומטיים, בהנחה שזה יגרום לשעון לא לעבור שעה קדימה.
כאן אתה פספסת פשוט בהבנה. עדכון זמן אוטומטי איננו קשור למעבר בין שעון קיץ לשעון חורף! הכוונה היא לעדכון השעה לשעה הנכונה לפי השעון העולמי, מהאינטרנט/ספק הסלולר. מעבר לשעון קיץ איננו משנה את השעה מבחינת המערכת. בגריניץ' (או ליתר דיוק UTC) - השעה תמיד נשארת אותו דבר. מה שמשתנה הוא ההיסט מ UTC. בשעון חורף (שהוא השעון הסטנדרטי של ישראל, לפי מיקומנו בכדור הארץ, לפי מספר המעלות מקו אורך 0 - אנחנו קצת מעל 30 - וכל 15 מעלות זה היסט של שעה אחת), ההיסט שלנו (ישראל) הוא שעתיים קדימה. בשעון קיץ (שהוא השעון הפוליטי שאינו מתאים למיקומנו הגאוגרפי - לכל חובבי שעון הקיץ...), ההיסט שלנו הוא 3 שעות קדימה.
אני לא יכול להגיד מה היה קורה אם היית משאיר עדכון זמן אוטומטי פעיל (זה תלוי אם העדכונים האוטומטיים שלך אכן פועלים או לא - אם כן - הכל היה בסדר, כי כיוון השעה השגוי - שאתה עשית - היה מתבטל)
אבל מה שאנדרואיד עשה כאן הוא פשוט מה שהוא היה אמור לעשות כאן - השעון עבר קדימה בשעה 02:00 בלילה - וזה מה שאנדרואיד אכן עשה - קידם את השעה בשעה אחת ב 2 בלילה. רק כיוון שאתה ניסית להתחכם, זה גרם לכך שכשהאנדרואיד שלך הגיע לשעה 02:00 בלילה, השעה בפועל הייתה רק 01:00 בלילה - ואז - הוא עבר ל 03:00 בלילה, כשהשעה בפועל היא 01:00 בלילה. בשעה 02:00 בלילה האמיתית (שעה לאחר מכן), השעון האמיתי עבר ל 03:00 בלילה, והשעון שלך... הראה כבר 04:00 בלילה.
ואז, מטבע הדברים, אם כיוונת את השעון שלך לצפצף ב 05:30 בבוקר - כיוון שהמכשיר שלך הקדים את שאר ישראל בשעה אחת (כי אתה כיוונת אותו כך!!!) - קרה מה שהיה צפוי שיקרה - ה 05:30 במכשיר שלך הגיע ב 04:30 במציאות, ו... הוא צלצל. כמו שהגדרת אותו בדיוק.
לסיכום, במעבר הבא - אל תחשוב שאתה יותר חכם מלינוקס. אנדרואיד זה לא מיקרוסופט, ולא אפל. פשוט אל תגע במכשיר - וזה יעבוד.
עד כאן בנושא "איך פועלים איזורי זמן". חג שמח!
נ.ב. אל תשכח לכוון את השעה לשעה הנכונה, להחזיר עדכוני זמן אוטומטיים, ולוודא שמוגדר שאיזור הזמן שלך הוא ישראל.
|
|