อยากทราบ Function เกี่ยวกับการแปลงวินาที
กระทู้เก่าบอร์ด อ.Yeadram

 5,921   2
URL.หัวข้อ / URL
อยากทราบ Function เกี่ยวกับการแปลงวินาที

หนูต้องการทราบ Function หรือ Code ทีสามารถแปลงหน่วยวินาทีให้เป็น จำนวนวัน ชม. นาที วินาที คะ เพราะทดลองทำหลายวิธีแล้ว
ไม่สามารถทำได้คะ

                            ขอบคุณคะ

2 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R11432
คล้ายกันมากกับคำถามนี้
http://www.thai-access.com/yeadram_view.php?topic_id=2430
ซึ่งผมแนะนำว่าให้เปลี่ยนวิธีออกแบบตาราง หรือการใช้งานจะดีกว่า - ปกติผมจะไม่เคยเจอปัญหาแบบนี้ เพราะจะไม่ออกแบบให้ยุ่งยากแบบนี้ครับ

ซึ่งมักจะได้คำตอบว่า "แก้ไม่ได้ เพราะ...(อะไรก็แล้วแต่)"

ดังนั้นถ้าจะแก้ปัญหาที่ปลายเหตุก็ มีให้ 2 วิธีครับ

แบบ A: แปลงเป็น DateTime
1. ให้แปลงค่าเป็นแบบ datetime ก่อน ดีคืออยู่ในรูปแบบของ เลขที่ก่อนทศนิยมเป็นวัน(date) หลังทศนิยมเป็นเวลา(time) เพราะฉะนั้นต้องปรับฐานให้เป็นวันก่อน คือ 60 วินาที = 1 นาที, 60 นาที = 1 ชั่วโ
มง, 24 ชั่วโมง = 1 วัน
TempDateTime = InputSecond / 60 / 60 / 24

2. ค่าของวันที่ คือค่า integer ของ datetime
OutputDayValue = Int(TempDateTime )

3. ค่าของเวลา คือค่า หลังจุดทศนิยม ของ datetime ซึ่งถ้าต้องการแสดงแบบ hh:nn:ss อยู่แล้ว ไม่ต้องทำอะไร แค่กำหนด format หรือ วางใน textbox ที่เป็น format ดังกล่าว
OutputTimeValue = Format(TempDateTime, "hh:nn:ss")


แบบ B: แล้วดึงค่า ของแต่ละส่วนโดยการคำนวณ
หลักการเดิมครับ 60 วินาที = 1 นาที, 60 นาที = 1 ชั่วโมง, 24 ชั่วโมง = 1 วัน
1. หาค่าวัน จากการหาว่า กี่วินาที = กี่วัน
OutputDayValue = Int(InputSecond / 60 / 60 / 24)

2. หาค่าชั่วโมง จากเศษของวัน ว่า วินาทีที่เหลือจากตัดวันทิ้งจะเหลือกี่ชั่วโมง
OutputHourValue = (InputSecond /60 /60) mod 24

3. หาค่านาที จากเศษของชั่วโมง ว่า วินาทีที่เหลือจากตัดชั่วโมง(จะกี่วันไม่สน เพราะวันเป็นผลจากชั่วโมง) ทิ้งจะเหลือกี่นาที
OutputMinuteValue = (InputSecond / 60) mod 60

4. หาค่าวินาที จากเศษของนาที ว่า วินาทีที่เหลือจากตัดนาที ทิ้งจะเหลือกี่วินาที
OutputSecondValue = InputSecond mod 60

...
ขั้นสุดท้ายไม่ว่าจะแบบ A หรือ B ก็ทำการรวมผลให้อยู่ในรูปแบบที่ต้องการแสดงผลครับ


ประมาณนี้ครับ ไม่รับรองผล 100% นะครับเพราะคิดตอนง่วงแล้ว

ถ้าใครเจอที่ผิดฝากช่วยแก้ด้วยนะครับ หรือใครมีวิธีง่ายกว่านี้รบกวนแนะนำด้วยครับ

สุดท้ายขอถามครับ ว่า ทำไมถึงออกแบบให้เป็นแบบนี้ครับ มีเงื่อนไข และนำไปใช้งานอย่างไร?
รบกวนตอบด้วยนะครับ อยากทราบจริงๆ
2 @R11433
ขอบพระคุณมากๆคะ

      หนูก็ไม่ทราบว่าทำไมหน่วยคอมจึงออกแบบเก็บข้อมูลแบบนี้
เมื่อขอข้อมูล มาวิเคราะห์ก็จะติดตรงนี้ ไม่ได้ออกแบบเองคะ

       หนูว่าบอร์ดนี้มีประโยชน์มากๆ ขอเรียกว่า อจ.ทุกคนเสียสละ
ทุ่มเทให้ความรู้เต็มที่โดยไม่ปิดบังคะ และรู้สึกเป็นหนี้บุญคุณคะ

      สักวันหนึ่งหากหนูมีความเก่งกล้าหนูจะให้วิทยาทานคืนตอบแทนเหมือนกับ           อจ.PichaiTC อจ. yeadram อจ.U&ME อจ. Teerapatและท่านอื่นๆคะ

       มันเป็นการสร้างความดีที่ไม่สิ้นสุดจริงๆ อจ. ทุกท่านได้อนิสงค์แรงมากๆคะ




       
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3834s