פורמט משתנה של DateTime

פורמט משתנה של DateTime

מישהו נתקל בבעיה? כאשר מריצים משרתים שונים, הפורמט של DateTime משתנה מאחד לשני. לגבי הסדר של יום, חודש, שנה. במקרה אחד זה יום, חודש, שנה. ובמקרה אחר: חודש, יום, שנה. זה יוצר באגים. מה עושים?
 

24sharon

New member
לגבי הפורמט

אפשר לשלוט בWEB CONFIG על הפורמט.
<globalization culture="he-IL" fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" />​
 

24sharon

New member
הבעיה היא לגבי התאריך עצמו

הרי יש הבדלי שעות. טוב... פרה פרה.
 
../images/Emo65.gifתודה, את מקסימה!

תודה רבה על התשובות היעילות שלך תמיד. תזכי למצוות! נכנסתי לאתר שלך אתמול, הוא ממש טוב! ויש בו קודים שיכולים להועיל לכולם. יש לי בעיה נוספת אולי תוכלי לעזור לי: אני נותנת MessageBox למשתמש, במקרה מסוים. אח"כ הוא לחץ אישור מתקן את הטעון תיקון וממשיך הלאה לכפתור "שלח", מגיע לעמוד הבא ועושה הקודם ופתאום, בלי שום קשר, קופצת ההודעה. איך ניתן למנוע את זה?
 

itzikbs

New member
קצת סדר

שרון צודקת, וםא ננסה לעשות קצת סדר בעניין: 1. Web.Config globalization culture="he-IL" fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" 2. ברמת ה Page Page Language="C#" Culture=="he-IL" 3. בזמן ריצה Thread.CurrentThread.CurrentCulture 4. ... ביי איציק ב.
 

rnan

New member
../images/Emo189.gif שום פרה פרה , פרה עכשיו !

לגבי שליטה לא צריך את ה il או את ה US-EN את שולטת כך : כשאת קוראת מ ה DB את עושה כך : ( לפורמט ישראלי) - ולא משנה מה כתוב ב DB ("datetimepicker1=reader.getdatetime(1).tostring("d/M/yyyy שימי לב לM גדולה ולא קטנה כשאת רוצה לכתוב נגיד את התאריך עכשיו : ("insert into taable1 .......datetime.now.date.tostring("d/M/yyyy אני מציע לך לא להשתמש ב פונקציות שמנקראות SHORTDATE כי זה מושפע ממה שיש ב CONTROL PANEL וזה ניתן לשינוי ולכן את קובעת מראש את הפורמט הכנסה וקריאה ל DB ולא מעניין אותך בכלל מאיזה מחשב זה. ביייי
 

גנזר

New member
אבל אם היא שולטת ב-Culture זה משפיע

על כל האתר. בשיטה שלך היא תצטרך לקבוע פורמט בכל מקום בו היא מציגה תאריך. (ואם יש 50 מקומות כאלו...) טוב לדעת מה ששרון אמרה- כדי לדעת איך קובעים culture כללי לאתר (לשים לב שזה משפיע למשל גם על מטבע) וטוב לדעת מה שאמרת- כדי לדעת איך להציג פורמט ספציפי בכל מקום שדרוש.
 

rnan

New member
../images/Emo189.gif לא!!

לא ממליץ לעבוד כך מהסיבה הפשוטה נגיד אתה עובד על IL והבן שלך שיחק ב CONTROL PANEL ושינה את פורמט תצוגת התאריך אתה תראה את זה לא נכון , ואם תנסה להכניס את זה ל DB לפי TEXT , אתה תקבל |EXCEPTION (למרות שהוא עושה אוטומטית) תאמין לי אני בונה תוכנת שכר וכוח אדם לחברה גדולה , ויש לי דיי ניסיון עם כל הקטע של התאריכים בפרט אפשר ( אני חוזר) אפשר להשתמש ב CULTURE אבל לא מומלץ כי זה תלוי בהגדרת CONTROL PANEL ולך תדע היום כל אחד חושב שהוא JOHN SOCA שהוא נכנס ומשנה ב CONTROL PANEL דברים אני לא ממליץ אתה צריך להתעלם לחלוטין ! , מהגדרות ה CONTOL PANEL ( בהנחה שאתה יודע מאיפה אתה בא ולאיפה אתה הולך) אלא אם כן , מדובר על תוכנה תלויית איזור , ואז חובה להשתמשב ב CULTURE , למרות שגם זה לא יהיה ייציב ....
 

24sharon

New member
לא הבנתי מה העניין

ראשית כלל לא דובר על DB, דובר על תצוגת התאריך באתר, לגבי התאריך באתר אם אתה רוצה להציג אותו, אתה יכול בכל מקום להציג את זה בפורמט הרצוי ואתה יכול להציג את זה בצורה גלובלית. לגבי DB ה-CULTURE לא משפיע עליו, הוא עצמאי (פרילאנס...) עם הגדרות משלו. ולכן ההצגה היא בפורמט d/MM/yyyy והנכסת הנתונים למסד היא רק בפורמט yyyy-MM-dd (או yyyyMMdd) הפרה פרה שדיברתי עליה היא אם יש הפרשי שעות למחשב השרת, אזי לעיתים זה יכול להיות בעיה. וצריך להחסיר / להוסיף שעות לכל הנתונים גם במסד וגם באתר. זה הכל
 

rnan

New member
סה"כ חידדתי סוגייה זו ודרך אגב

מסד נתונים מציג לפי הגדרות REGIONAL SETTING..... כך שהוא ממש לא עצמאי מבחינה זו תשני REGIONAL SETTING לפורמט אחר ותפתחי מחדש ה DB ותראי שינויים. ( אמנם לא באחסנה , אלא בתצוגה)
 

rnan

New member
דרך אגב אם בכל זאת

את רוצה על פי CULTURE , ( אני מדבר על WINFORM) אז : תעשי את זה בתחילת התוכנית ושלום על ישראל
MyCultureInfo = new System.Globalization.CultureInfo("en-US"); MyCultureInfo.DateTimeFormat.ShortDatePattern="d/M/yyyy"; System.Threading.Thread.CurrentThread.CurrentCulture = MyCultureInfo;​
 
למעלה