ตอน Insert นี่ผมใช้ Erlang parse iso8601 มาเป็น Tuple แล้วใช้ ErlSQL จัดการ statement โดย parse DateTime format ที่ได้มาจาก XML ที่สร้างจาก .NET ตัวอย่าง
2013-08-30T14:26:58.1620093+07:00
ISO8601 ใน Erlang Parse ออกมาได้เป็น {{2013,8,30},{7,26,58}} โดยเอา +7:00 มาคิด ลดเวลาให้เป็น GMT +0:00 ซึ่งก็น่าจะถูก
เวลาที่ได้คือ 7:26:58
แต่ Code .NET หาไม่เจอ!!!! ฉิบหายละ!!!!
.NET อ่าน XML file เดียวกัน Data เดียวกัน แต่ไม่ใช้ +7:00 มาคำนวน จาก XML ได้เป็น 14:26:58 ไม่เอา +7:00 มาคิด!!!!
ถ้า Iso8601 ของ Erlang ถูก...ซึ่งผมต้อง port .NET service มาเป็น Erlang แล้วข้อมูลเดิมล่ะ...
ถ้า .NET ถูกคงไม่มีปัญหาอะไร เดี๋ยวทำ Erlang ให้ผิดตามก็ได้
พอเข้าไปดู http://www.timestampgenerator.com/
แล้วลอง Generate ISO8601 ดู อ้าว Erlang ถูกนะ งั้น .NET framework (2.0) ก็ Bug น่ะสิ... เวรละ....
หรือเพราะ .NET ฉลาด!!! ดู Local time จาก Control Panel แล้วเทียบเวลา โดยไม่แปลง เวลาให้ลดลง 7 ชม. (ให้เป็น GMT) เพราะเข้าใจว่า มันคือ Local time zone
แล้วเวลาที่ได้มา 14:26:58 มันคือการบันทึกตอนไหน? ตอน 7:26:58 หรือ ตอน 14:26:58
ต้องไปหาที่มาของเวลาแล้วค่อยกลับมาหาว่า ควรจะปรับใครยังไงอีกที
ไงละ แค่ DateTime :'(
ไม่มีความคิดเห็น:
แสดงความคิดเห็น