Tags:
Forums: 

ผมเขียนระบบที่เกี่ยวกับเวลาขึ้นมา และสร้างฟังค์ชั่น calculate เอาไว้ โดยให้ admin เป็นคนกรอกเวลา เช่น 8.00 - 20.00 ซึ่งถ้าเป็นเวลา 0.00 - 24.00 น. ก็จะเป็นปรกติของระบบ

แต่ถ้ากรอกเป็น 25.00 - 28.00 ระบบมันยังคำนวนนะครับ ว่าเป็นเวลา 3 ชม. แต่ความเป็นจริงแล้ว เวลาใน 1 วัน มันมีแค่ 24 ชั่วโมง ^_^

ปัญหาคือ ผมจะแก้ไขในส่วนนี้ได้อย่างไร ให้อาจารย์ดูท่านก็บอกให้ไปแก้ในส่วนนี้มา คนโค้ดก็ไม่ได้นึกถึงในส่วนนี้มาก่อนซะด้วย

regard
mr.man

Get latest news from Blognone
By: jirayu
ContributorWindows PhoneBlackberrySymbian
on 22 January 2009 - 21:27 #81879

ทำไมไม่ใช้ if ตรวจสอบแล้วหารเอาเศษเอาหว่า - -"

ถ้าเป็น php มันจะออกมาหน้าตาประมาณนี้

$time = 25.30

if($time > 24){
$time = $time%24;
}

ส่วนของ ruby ลองดัดแปลงเอาครับ ผมไม่เคยใช้ - -"

MyBlog !!!


By: mr_tawan
ContributoriPhoneAndroidWindows
on 22 January 2009 - 21:47 #81885
mr_tawan's picture

ผมว่ากรณีนี้น่าจะเป็น Input Error มากกว่านะครับ ^^'

เช็คค่าว่าอยู่ในช่วง 0-24 หรือเปล่า ถ้าไม่ก็แสดงผลว่าอินพุตผิดพลาดน่าจะถูกกว่านะครับ ถ้าเอาไป %24 เพื่อให้ได้ค่าในช่วง 0-24 มันผิด Logic นะผมว่า มันผิดสามัญสำนึกน่ะครับ 55

ThaiGameDevX -- The First Game Developer Community in Thailand.


  • 9tawan.net บล็อกส่วนตัวฮับ
By: jirayu
ContributorWindows PhoneBlackberrySymbian
on 22 January 2009 - 21:54 #81887 Reply to:81885

เห็น จขกท บอกว่ามันยังประมวลผลให้ เลยคิดว่าคงจะทำให้รองรับแบบนี้น่ะ - -"

ที่จริงถ้าจะให้แจ้งว่า input error ก็เปลี่ยนตรง $time = $time%24 (ส่วนที่ปรับเวลาให้เข้าห้วง 24 ชั่วโมง) ให้เปลี่ยนแจ้งว่า input error ก็ได้ครับ แหะๆ

MyBlog !!!


By: Sikachu
ContributoriPhoneIn Love
on 23 January 2009 - 01:34 #81923
Sikachu's picture

field มันเก็บแยกกันหรือเปล่าครับ? ระหว่างเวลาเริ่มกับเวลาสิ้นสุด

แนะนำให้ใช้ Time.parse() แต่ละ field แล้วดูว่ามี exception หรือเปล่าครับ ง่ายที่สุดแล้ว

ถ้าเก็บไว้ field เดียวกันก็ใช้ time.split(/ - /) แบ่งออกมาครับ

และถ้าง่ายที่สุด ใช้ date_select ไปเลยครับ ให้เป็น drop down ไปเลย

ข้อมูลน้อยไป ตอบกว้างไปหน่อยนะครับ :D

บล็อกของผม: http://sikachu.com


บล็อกของผม: http://sikachu.com

By: poloman on 23 January 2009 - 01:44 #81927 Reply to:81923

ใช่ครับ ฟิลด์เก็บแยกกัน ระหว่างเริ่มต้น - สิ้นสุด

หรือผมจะใช้การ valid ดีครับ ว่าถ้ากรอกเกิน 24 ให้เด้ง alert ขึ้นมา

แบบว่า ยิ่งทำมันยิ่งตื้อครับ อยากพรีเซ้นเต็มแก่แล้วอะ