 |
|
ต้องการบวกเวลาข้ามวันโดยมีข้อแม้ 8.00 - 17:00 ให้ตัดไปวันใหม่ (ขออนุญาตตั้งกระทู้ใหม่ครับ) |
|
 |
|
|
 |
 |
|
code ตัวอย่าง ผมว่าหายากนะ ถ้ามันเป็นโจทย์เฉพาะ
08:00 - 12:00 = 240 นาที
13:00 - 17:00 = 240 นาที
ถ้า user ป้อน 239 ก็เอาไปคำนวณเวลาของรอบแรก
ถ้า user ป้อน 250 ก็ลบด้วย 240 ออก แล้วไปคำนวณเวลาของรอบหลัง
แต่ก็จะมีเงื่อนไขอื่นๆ ให้คิดต่ออีก เช่น
ถ้า user ป้อน 500 จะเอาไปคำนวณยังไง ถึงได้ เวลาของวันถัดไป
แล้วสมมติว่า คำนวณได้เป็น 2014-06-25 08:20:00
หากได้โจทย์ใหม่ว่า ให้คำนวณหาเวลา จากที่คำนวณไว้ครั้งสุดท้าย เพิ่มมาอีก จะทำยังไง
ลองคิดดูครับ
|
 |
 |
 |
 |
Date :
2014-06-24 13:07:21 |
By :
Aod47 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อยากรู้เหมือนกัน รอดูคนมาตอบครับ  
|
 |
 |
 |
 |
Date :
2014-06-24 17:37:07 |
By :
deksoke |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองเปลี่ยนมาใช้ Select Case ท่าจะดีกว่า If else นะครับ
Code (VB.NET)
Select [ Case ] testexpression
[ Case expressionlist
[ statements ] ]
[ Case Else
[ elsestatements ] ]
End Select
|
 |
 |
 |
 |
Date :
2014-06-25 08:46:55 |
By :
Aod47 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
วิธีหนึ่งที่ผมมักใช้เวลาคิดไม่ออก คือ เขียนสิ่งที่คิดลงไปในกระดาษ ครับ
พอเห็นภาพรวมแล้ว ค่อยตัด หรือ เติม สิ่งที่ขาดไปครับ
ถ้า hard code ไปเลย มันมักจะไม่ได้อย่างที่ต้องการครับ
|
 |
 |
 |
 |
Date :
2014-06-25 08:57:52 |
By :
Aod47 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมลองทำให้ดู เผื่อคุณเอาไปต่อยอดได้

|
 |
 |
 |
 |
Date :
2014-06-25 09:17:34 |
By :
Aod47 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันก็อีหรอบเดียวกันครับ เขียน หอหีบฮอนกฮูกได้สวยงามแต่เราลืมไปแล้วว่า กอไก่ขอไข่เขียนอย่างไร ถ้ายังไม่เข้าใจอีก
ก็ท่องฮอนกฮูกย้อนกลับไปหากอไก่ ผมท่องผิดท่องถูกอายหลานเหมือนกันครับ
ความคิดเห็นของผมมันอยู่บนพื้นฐานครับแต่ก็ไม่ได้ถูกต้องไปเสียทั้งหมด ดังเหตุผลที่ผมได้กล่าวมาข้างต้นนั่นแล
ผมไกด์ให้คุณอีกนิดหนึ่ง หลักการนับ(ไม่เว้นแม้แต่ทางบัญชี ซึ่งยุกยิกกว่าเรามาก) ให้เลือกเอาสักอย่างหนึ่งว่า
จะนับต้นหรือนับปลาย อทิเช่น 1 ถึง 3 มันเท่ากับ 3 ไม่ใช่ แต่ 3-1 มันเท่ากับ 2 เป็นต้น
|
 |
 |
 |
 |
Date :
2014-06-25 15:47:44 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เวลาผ่านไปไวเหมือนโกหก พรึบพับพรึบพรับ ล้มแผละล้มแผละ เปล่าครับไม่มีอะไร นกพิราบมันบินมาเกาะหน้าต่าง
เพื่อนของผมชื่อ หมื่นเลยวัย ได้รับข้อมุลมาจากท่านขุนพิพากษา และส่งต่อกันมาเป็นทอดกล้วย ต้นตอข่าวมาจากคุณพระช่วย
พอผมอ่านเข้าใจแล้วก็หยิบดินสอพองผสมน้ำลายป้ายลงไปบนกระดาษเพื่อตอนกลับ
แต่ผมก็ไม่ลืมหยิบข้าวสารเสกให้นกมันนิดหน่อยแล้วปล่อยมันไป คล้ายฯดูหนังจีนสมัยสามก๊ก "สงครามยุคข่าวสาร"
Code (VB.NET)
Dim dStart As DateTime = DateTime.Parse("0001-01-01 08:00:00 AM")
Dim dEnd As DateTime = DateTime.Parse("0001-01-04 17:00:00 PM")
Dim Period1 As Integer = 0 'Minutes
Dim Period2 As Integer = 0 'Minutes
While dStart < dEnd
'If dStart.DayOfWeek <> DayOfWeek.Saturday AndAlso dStart.DayOfWeek <> DayOfWeek.Sunday Then
If dStart.TimeOfDay.Hours >= 8 AndAlso dStart.TimeOfDay.Hours <= 12 Then
Period1 += 1
Else
If dStart.TimeOfDay.Hours >= 13 AndAlso dStart.TimeOfDay.Hours <= 17 Then
Period2 += 1
End If
End If
'End If
dStart = dStart.AddMinutes(1)
End While
ปล. ผมฝันไปหรือผมกลายเป็นคนบ้าไปแล้วว่ะเนี่ย
|
 |
 |
 |
 |
Date :
2014-06-25 16:07:46 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เด็กยุคใหม่ (หุ่นยนต์)
ถ้าเป็นผู้ชาย ดูดนมเมียทุกวันทุกวันทุกวัน และหลงลืมไปว่าเคยดูดนมแม่
ุ้ถ้าเป็นผู้หญิง ผมนึกไม่ออกครับว่าจะเปรียบเทียบกับอะไร/อย่างไร?
พอดีผมเหลือบไปเห็นขวดเบียร์วางอยู่บนพื้นขวดหนึ่ง นึกออกเลยครับว่าดูดอะไร "ก้นขวดเบียร์"
...
|
 |
 |
 |
 |
Date :
2014-06-25 17:14:02 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คุณสังเกตุดู #NO12 ผมComment เอาไว้ Sunday, Saturday หมายความว่าถ้าในเงื่อนไขของคุณมีวันหยุดเข้ามาเกี่ยวข้อง อาจจะเป็นวันไหนก็ได้
พึงระวังนิดหนึ่งครับว่า คอมพิวเตอร์คำนวณกับสิ่งที่เราคิดบางครั้งก็ไม่เหมือนกัน เช่น
Input จำนวนนาทีเพื่อ หาจำนวนวัน สูตร = (x * 1.0)/480 '***** x * 1 --> poin to integer, x * 1.0 --> point to double
ลองทดสอบกับ SQL ค่ายไหนก็ได้ครับ Select 1/2 ผลลัพท์ที่ได้คือ 0 มันตรงข้ามกับที่เราคิดคือ 0.5
ที่เหลือก็ตรวจทานเอาครับ เพราะผมไม่ได้ทดสอบ
|
 |
 |
 |
 |
Date :
2014-06-25 19:33:56 |
By :
หน้าฮี |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|