Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
VBA
Date / Time Function
ดาวน์โหลดคู่มือ

DateDiff Function

VBA Function, ค่าที่ส่งออกเป็นประเภทข้อมูล Variant (Long) และเป็นค่าตัวเลขของภายในช่วงที่ระบุ

ไวยากรณ์

DateDiff(interval, date1, date2[,firstdayofweek[,firstweekofyear]] )

อากิวเมนต์ของฟังก์ชัน DateDiff มีความหมาย คือ

ส่วน รายละเอียด
interval บังคับ, เป็น Expression แบบ String เพื่อระบุลักษณะช่วงเวลาที่ต้องการในการคำนวณค่าความแตกต่างระหว่าง date1 และ date2
date บังคับ, เป็นประเภทข้อมูลวันที่ สำหรับใช้ในการคำนวณ
firstdayofweek ไม่บังคับ,เป็นค่าคงที่เพื่อระบุวันแรกของสัปดาห์ ถ้าไม่กำหนด จะใช้วันอาทิตย์เป็นวันแรกของสัปดาห์
firstweekofyear ไม่บังคับ, เป็นค่าคงที่เพื่อระบุสัปดาห์แรกของปี ถ้าไม่กำหนด จะนับสัปดาห์ที่มีวันที่ 1 มกราคมเป็นสัปดาห์แรก

การตั้งค่า

ค่าอากิวเมนต์ Interval กำหนดค่าได้เป็น

การกำหนด รายละเอียด
yyyy ปี
q ไตรมาส
m เดือน
y วันของปี
d วัน
w วันของสัปดาห์
ww สัปดาห์
h ชั่วโมง
n นาที
s วินาที

ค่าอากิวเมนต์ firstdayofweek กำหนดค่าได้เป็น

ค่าคงที่ ค่า รายละเอียด
vbUseSystem

0

ตั้งค่าตาม NLS API
vbSunday 1 วันอาทิตย์ (ค่าเริ่มต้น)
vbMonday 2 วันจันทร์
vbTuesday 3 วันอังคาร
vbWednesday 4 วันพุธ
vbThursday 5 วันพฤหัสบดี
vbFriday 6 วันศุกร์
vbSaturday 7 วันเสาร์

ค่าอากิวเมนต์ firstweekofyear กำหนดค่าได้เป็น

ค่าคงที่ ค่า รายละเอียด
vbUseSystem 0 ตั้งค่าตาม NLS API
vbFirstJan1 1 เริ่มนับจากสัปดาห์ที่มี วันที่ 1 มกราคม (ค่าเริ่มต้น)
vbFirstFourdays 2 เริ่มนับจากสัปดาห์แรกของปีที่มีวันอย่างน้อย 4 วัน
vbFirstFullWeek 3 เริ่มนับจากสัปดาห์แรกของปีที่มีวันครบ 7 วัน

ลักษณะการประยุกต์

การประยุกต์ฟังก์ชัน DateDiff เป็นหาค่าช่วงเวลาที่ต้องการระหว่างวันที่ระบุ 2 วัน เช่น การหาจำนวนวันระหว่างวันที่ 15 มกราคม 2000 กับ วันที่ 20 กรกฎาคม 2000 ในการคำนวณจำนวนวันระหว่าง date1 และ date2 สามารถใช้ค่า interval เป็น “d” หรือ “y” ส่วนการหาจำนวนเดือนใช้ค่า interval เป็น “m” หรือเงื่อนไขอื่นตามที่ต้องการ

ดูเพิ่มเติม

ฟังก์ชัน DateAdd, ฟังก์ชัน DatePart, ฟังก์ชัน Day, ฟังก์ชัน Format, ฟังก์ชัน Now, ฟังก์ชัน WeekDay, ฟังก์ชัน Year

ตัวอย่าง

Dim TheDate As Date
Dim Msg

TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d" , Now, TheDate )
MsgBox Msg

ตัวอย่างการประยุกต์ใน Access

การนำไปประยุกต์เป็นฟิลด์คำนวณในคิวรี่ทำได้โดยการกำหนดฟังก์ชัน DateDiff ในฟิลด์ใหม่

DaysInProcess: DateDiff(“y”, [OrderDate], [Shippeddate])

ถ้าต้องการเทียบกับวันที่ที่ระบุ เช่น 1 Feb 2000 จะต้องมีสัญลักษณ์ # ทั้งด้านหน้าและด้านหลังของวันที่เพื่อให้ Visual Basic ทราบว่าเป็นประเภทข้อมูลวันที่

DaysDiff: DateDiff("m", [OrderDate], #1 Feb 2000#)