23 September 2010

SharePoint Time Zone

לפני כשבוע ישראל עברה לשעון חורף. שלא כמו שאר העולם, החוק בישראל להזזת השעון בנויי גם מהלוח שנה העברי וגם מהלוח שנה הגרגוריאני -האזרחי. פירסמתי בפוסט בתחילת השנה את לוח השנה ובו הימים המדוקים להחלפת השעון לשנה זו.

שעון קיץ (ישנים שעה פחות) עוברים בין חמישי לשישי ב2 לפנות בוקר אחרי ה1.04. זה בעצם היום השישי הראשון שמגיע אחרי הראשון באפריל. אבל גם בזה יש חריגים, אם פסח יוצא באותו זמן- כמו שקרה ב2009, אז מקדימים את העברת השעון שבוע קודם (ליום השישי בשבוע האחרון בחודש מרץ).

שעון חורף (ישנים עוד שעה) עוברים בין מוצאי שבת לראשון גם ב2 לפנות בוקר. אבל הפעם זה קורה במוצאי השבת שבין ראש השנה ליום כיפור.

הבעיה מתחילה ש- SharePoint לא מכיר טוב את הלוח שנה העברי. כדי לפתור בעיה זאת צריך לגשת ל
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\CONFIG
לחפש את הקובץ TIMEZONE.XML, לחפש את הזמן המקומי (הID של זמן ישראל-ירושלים הוא 27). לא לשכוח לגבות את הקוסץ לפני כל שינויי- ליתר ביטחון.

הקובץ XML פשוט להבנה כפי שמבטיחה מיקרוסופט.
בישראל אנו 120 דקות מינוס מקו גרינג'.
לכן אנחנו מגרים bias-120
month זה חודש שמתחלף השעון.
Hour זו השעה.
DayOfTheWeek - זה היום בו יתבצע בחלפת השעה.
והטריק הגדול של MOSS הוא השדה Day.
Day הוא השבוע של החודש בו מתבצע החילוף. כן, כן... תרגום של Day הוא שבוע.



הנה דוגמה לשנה זו (חורף 2010 וקיץ 2011):
 <Bias>-120</Bias>

<StandardTime>

<Bias>0</Bias>

<Date>

<Month>9</Month>

<Day>2</Day>

<Hour>2</Hour>

</Date>

</StandardTime>

<DaylightTime>

<Bias>-60</Bias>

<Date>

<Month>4</Month>

<Day>1</Day>

<Hour>2</Hour>

<DayOfWeek>6</DayOfWeek>

</Date>

</DaylightTime>

</TimeZone>

יש גם שדה היסטוריה History ששומר את ההגדרות של השנים הקודמות.

שתהיה שנה טובה,
רועי

No comments:

Post a Comment