การแสดงวันในสัปดาห์ตามค่าวันที่

Article Number:040743

คุณสามารถแสดงวันในสัปดาห์สำหรับค่าวันที่ได้โดยการใช้สูตร

การเตรียมพร้อม

  • วางฟิลด์ "วันที่" หรือ "วันที่และเวลา" บนฟอร์มแอป
    ระบุรหัสฟิลด์ของฟิลด์ ("วันที่" สําหรับฟิลด์ "วันที่" หรือ "Date_and_Time" สําหรับฟิลด์ "วันที่และเวลา")
  • วางฟิลด์ "ข้อความ" ลงในแบบฟอร์ม การตั้งค่ารหัสฟิลด์เป็นทางเลือก
  • ใน การตั้งค่าเบ็ดเตล็ด ให้ตั้งค่าที่มากกว่าหรือเท่ากับ 1 สำหรับ จำนวนหลักทศนิยมที่จะปัดเศษ

สำหรับรายละเอียดโปรดดูหน้าถัดไป
ภาพรวมของรหัสภาคสนาม
การกำหนดเลขนัยสำคัญของตัวเลขและวิธีการ การปัดเศษ

สูตร

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

สูตร ที่จะใช้เมื่อวางช่อง "วันที่" บนแบบฟอร์มแอปพลิเคชัน

เนื้อหาได้รับการคัดลอกแล้ว
IF( ( ( (Date / 60 / 60 / 24) - 0) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 0) / 7 ) , 0) = 0 , "Thursday",
  IF( ( ( (Date / 60 / 60 / 24) - 1) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 1) / 7 ) , 0) = 0 , "Friday",
    IF( ( ( (Date / 60 / 60 / 24) - 2) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 2) / 7 ) , 0) = 0 , "Saturday",
      IF( ( ( (Date / 60 / 60 / 24) - 3) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 3) / 7 ) , 0) = 0 , "Sunday",
        IF( ( ( (Date / 60 / 60 / 24) - 4) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 4) / 7 ) , 0) = 0 , "Monday",
          IF( ( ( (Date / 60 / 60 / 24) - 5) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 5) / 7 ) , 0) = 0 , "Tuesday",
            IF( ( ( (Date / 60 / 60 / 24) - 6) / 7 ) - ROUNDUP(( ( (Date / 60 / 60 / 24) - 6) / 7 ) , 0) = 0 , "Wednesday","N/A"
            )
          )
        )
      )
    )
  )
)

สูตร ที่ใช้เมื่อวางช่อง "วันที่และเวลา" บนแบบฟอร์มแอปพลิเคชัน

เนื้อหาได้รับการคัดลอกแล้ว
IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 0) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 0) / 7 ) , 0) = 0 , "Thursday",
  IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 1) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 1) / 7 ) , 0) = 0 , "Friday",
    IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 2) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 2) / 7 ) , 0) = 0 , "Saturday",
      IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 3) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 3) / 7 ) , 0) = 0 , "Sunday",
        IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 4) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 4) / 7 ) , 0) = 0 , "Monday",
          IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 5) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 5) / 7 ) , 0) = 0 , "Tuesday",
            IF( ( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24) ) - 6) / 7 ) - ROUNDUP(( ( (ROUNDDOWN((Date_and_Time+(60 * 60 * 9))/ 60 / 60 / 24)) - 6) / 7 ) , 0) = 0 , "Wednesday","N/A"
            )
          )
        )
      )
    )
  )
)

คำอธิบาย สูตร

สูตรใน Kintone ถือว่าค่าในฟิลด์ "วันที่" และ "วันที่และเวลา" เป็นเวลา Unix ซึ่งเป็นจำนวนวินาทีที่ผ่านไปนับตั้งแต่ 1970-1-1 00:00 UTC (เวลาสากลเชิงพิกัด)

สำหรับรายละเอียดเพิ่มเติมโปรดดูหน้าถัดไป
ค่าใน ฟิลด์ วันที่ เวลา และวันที่และเวลาได้รับการจัดการอย่างไร

ในสูตรบนหน้านี้ ค่าวันที่ที่ป้อนในฟิลด์จะถูกแปลงเป็นจำนวน วัน ที่ผ่านไปตั้งแต่ยุค Unix จากนั้นจึงคำนวณ วันในสัปดาห์ที่สอดคล้องกับค่าวันที่จะแสดงโดยใช้แนวคิดการหารจำนวน วัน ที่ผ่านไปตั้งแต่ยุค Unix ด้วย 7 (จำนวน วัน ในหนึ่งสัปดาห์) จากนั้นจึงกำหนดวันในสัปดาห์โดยอิงจากส่วนที่เหลือ

  • Examples:
    • หากคุณเข้าสู่วันที่ 1 เมษายน 2021:
      จํานวน วัน ที่ผ่านไปตั้งแต่วันที่ 1 มกราคม พ.ศ. 2513 วันพฤหัสบดี คือ 18,718 คน
      18,718 หารด้วย 7 เท่ากับ 2,674 ส่วนที่เหลือเป็น 0
      ซึ่งหมายความว่าวันที่ 1 เมษายน 2021 คือ 2,674 สัปดาห์ หลังจาก วันพฤหัสบดี, 1 มกราคม 1970 เนื่องจากวันที่คือ 0 วัน หลังจาก วันพฤหัสบดี วันในสัปดาห์จะต้อง วันพฤหัสบดี
      กล่าวอีกนัยหนึ่งวันในสัปดาห์จะถูก วันพฤหัสบดี เสมอเมื่อจํานวน วัน ที่ผ่านไปตั้งแต่วันที่ 1 มกราคม พ.ศ. 1970 หารด้วย 7 และส่วนที่เหลือคือ 0
    • หากคุณเข้าสู่วันที่ 2 เมษายน 2021:
      จํานวน วัน ที่ผ่านไปตั้งแต่วันที่ วันพฤหัสบดี 1 มกราคม พ.ศ. 2513 คือ 18,719 คน
      18,719 หารด้วย 7 เท่ากับ 2,674 ส่วนที่เหลือ 1
      ซึ่งหมายความว่าวันที่ 2 เมษายน 2021 คือ 2,674 สัปดาห์ และหนึ่งวันหลังจากวันที่ วันพฤหัสบดี วันที่ 1 มกราคม พ.ศ. 1970 เนื่องจากวันที่คือหนึ่งวันหลังจาก วันพฤหัสบดี วันในสัปดาห์จะต้อง วันศุกร์
      กล่าวอีกนัยหนึ่งวันในสัปดาห์จะ วันศุกร์ เสมอเมื่อจํานวน วัน ที่ผ่านไปตั้งแต่วันที่ 1 มกราคม 1970 หารด้วย 7 และส่วนที่เหลือคือ 1

ในตัวอย่างข้างต้น ส่วนที่เหลือจะส่งคืนหลังจากหารจำนวน วัน ที่ผ่านไปตั้งแต่ยุค Unix ด้วย 7 จะใช้เพื่อหาวันในสัปดาห์ดังนี้

ก) เมื่อจำนวน วัน ที่ผ่านไปหารด้วย 7 แล้วได้เศษ 0: วันพฤหัสบดี
ข) เมื่อจำนวน วัน ที่ผ่านไปหารด้วย 7 แล้วได้เศษ 1: วันศุกร์
ค) เมื่อจำนวน วัน ที่ผ่านไปหารด้วย 7 แล้วได้เศษ 2: วันเสาร์
D) เมื่อจำนวน วัน ที่ผ่านไปหารด้วย 7 แล้วได้เศษ 3: วันอาทิตย์
ง) เมื่อจำนวน วัน ที่ผ่านไปหารด้วย 7 แล้วได้เศษ 4: วันจันทร์
ง) เมื่อจำนวน วัน ที่ผ่านไปหารด้วย 7 แล้วได้เศษ 5: วันอังคาร
ก) เมื่อจำนวน วัน ที่ผ่านไปหารด้วย 7 แล้วได้เศษ 6: วันพุธ

อย่างไรก็ตามคุณสมบัติการคำนวณของ Kintone ไม่สามารถนำมาใช้หาเศษที่เหลือได้
ด้วยเหตุผลนี้ แทนที่จะกำหนดวันในสัปดาห์โดยตรงจากส่วนที่เหลือ วันในสัปดาห์จะถูกกำหนดโดยการลบค่าส่วนที่เหลือจากจำนวน วัน ที่ผ่านไปและคำนวณค่าที่หารด้วย 7 ลงตัว

หากต้องการคำนวณค่าที่หารด้วย 7 ลงตัว จะต้องคืนค่าส่วนที่เหลือเป็นเลขทศนิยม จากนั้นปัดขึ้นเป็นจำนวนเต็มที่ใกล้เคียงที่สุดโดยใช้ฟังก์ชัน ROUNDUP

เมื่อผลต่างของการลบ [(จำนวน วัน ที่ผ่านไป - X) หารด้วย 7] จาก [ผลหารของการหาร (จำนวน วัน ที่ผ่านไป - X) ด้วย 7 ปัดเศษเป็นจำนวนเต็มโดยใช้ฟังก์ชัน ROUNDUP] เท่ากับ 0 ระบบจะระบุว่าค่าใดหารด้วย 7 ลงตัว (หรือกล่าวอีกนัยหนึ่งคือมีเศษเหลือเป็น 0) จากนั้นจะกำหนดวันในสัปดาห์ดังต่อไปนี้

ก) เมื่อจำนวน วัน ที่ผ่านไปลบด้วย 0 หารด้วย 7 แล้วได้เศษ 0: วันพฤหัสบดี
ข) เมื่อจำนวน วัน ที่ผ่านไปลบด้วย 1 หารด้วย 7 แล้วได้เศษ 0: วันศุกร์
ค) เมื่อจำนวน วัน ที่ผ่านไปลบด้วย 2 หารด้วย 7 แล้วได้เศษ 0: วันเสาร์
D) เมื่อจำนวน วัน ที่ผ่านไปลบด้วย 3 หารด้วย 7 แล้วได้เศษ 0: วันอาทิตย์
ง) เมื่อจำนวน วัน ที่ผ่านไปลบด้วย 4 หารด้วย 7 แล้วได้ผลลัพธ์เป็นเศษ 0: วันจันทร์
ง) เมื่อจำนวน วัน ที่ผ่านไปลบด้วย 5 หารด้วย 7 แล้วได้เศษ 0: วันอังคาร
G) เมื่อจำนวน วัน ที่ผ่านไปลบด้วย 6 หารด้วย 7 แล้วได้เศษ 0: วันพุธ

สำหรับข้อมูลเกี่ยวกับฟังก์ชัน ROUNDUP โปรดดูหน้าต่อไปนี้
ฟังก์ชัน ROUND, ROUNDUP และ ROUNDDOWN: ปัดเศษ ปัดเศษขึ้น และปัดเศษค่าตัวเลขลง