Tuesday, May 12, 2009

Time zone with programming C#

เรื่องไม่เป็นเรื่อง (หรือป่าว) ที่ควรรู้ ระหว่าง timezone กับ application C#
  • ประเด็นมีอยู่ว่าเขียนโปรแกรมเกี่ยวกับ datagridview และ list ข้อมูลจากฐานข้อมูลมาแสดง
  • บนเครื่องตัวเอง ข้อมูลก็ตรงกับที่อยู่บนฐานข้อมูลอยู่
  • แต่ทำไม ไปทดสอบบนเครื่องคนอื่นเค้า ดันแสดง น้อยกว่า 1 วัน งงอย่างแรง
  • ตอนแรกคิดว่าเป็นที่ culture regional บนเครื่องนั้นไม่ใช่ english คิดว่ามีปัญหากับ culture thai
  • แต่ลองปรับเป็น english ก็ไม่หายหว่า
  • ประเด็น culture บน local เลยตกไป พอสังเกตุดีๆ แล้วโชคดีด้วย เลยเจอสาเหตถุที่แท้จริง

ฐานข้อมูล MSSQL ตั้ง culture เป็น english (us)



บนเครื่องที่ทำการพัฒนา





ทดสอบบนเครื่องคนอื่นเค้า




  • สงสัย zone ด้านบนเนี๋ยจะช้ากว่าเรานิดหน่อยมั้งเพราะ เวลาจะไม่ตรงกันแค่หน่อยนหนึ่ง
  • ก็ยังไม่ค่อยเข้าใจเรื่อง timezone อยู่ - -'
  • แถวสุดท้าย เห็นปะ ที่ถูกต้อง startdate ต้องเป็น วันที่ 1 และ enddate ต้องเป็น 14
  • แต่บนเครื่องที่ตั้ง timezone เป็นอันอื่นจะ น้อยกว่าอยู่ 1 วันซะงั้น startdate เป็น 30 และ 13

สรุปผล
  • time zone windows xp มีผลอย่างมากเลยในการแสดงผลเรื่องวันที่จากฐานข้อมูล
  • ปรับบน timezone เครื่องอื่นที่มีปัญหาเป็น bangkok, hanoi , jakatar ก็หายแหละ
  • time zone ตรงกับบน server ของ ฐานข้อมูลแหละ

เพิ่มเติม
  • อย่าลืมเรื่องตั้งค่า culture ของระบบเราด้วยนะ ไม่งั้น แป่งแน่

อ้างอิง
  • มั่วเอง ยังไม่เค้าใจเรื่อง timezone อยู่ดีเฮ่อ เซง

No comments:

Post a Comment

Popular Posts