Quản lý cuộc hẹn, kế hoạch, ngân sách — dễ dàng với Microsoft 365.

Hàm DateDiff

Trả về một Biến_thể (Dài) xác định số khoảng thời gian giữa hai ngày cụ thể.

Cú pháp

Datediff ( khoảng, date1, date2 [, firstdayofweek] [, firstweekofyear] )

Cú pháp hàm Datediff có các đối số sau đây:

Mẹo: Trong Access 2010, bộ dựng biểu thức có thông minh, vì vậy bạn có thể thấy các đối số của biểu thức yêu cầu của bạn. 

Đối số

Mô tả

interval

Bắt buộc. Biểu thức chuỗi là khoảng thời gian bạn sử dụng để tính toán sự khác biệt giữa date1date2.

date1, date2

Bắt buộc. Biến thể (Ngày). Hai ngày bạn muốn sử dụng để tính toán.

ngày_đầu_tiên_của_tuần

Tùy chọn. hằng xác định ngày đầu tiên trong tuần. Nếu không được xác định, sẽ giả định là Chủ Nhật.

tuần_đầu_tiên_của_năm

Tùy chọn. Hằng số chỉ định tuần đầu tiên của năm. Nếu không được xác định, giả định tuần đầu tiên của năm là tuần có ngày 01 Tháng Một.

Cài đặt

Khoảng thời gian tham đối có các thiết đặt này:

Thiết đặt

Mô tả

yyyy

Năm

q

Quý

m

Tháng

y

Ngày trong năm

d

Ngày

w

Weekday

ww

Tuần

h

Giờ

n

Phút

.

Giây

Đối số firstdayofweek có các thiết đặt này:

Hằng số

Giá trị

Mô tả

vbUseSystem

0

Sử dụng thiết đặt API NLS.

vbSunday

1

Chủ Nhật (mặc định)

vbMonday

2

Thứ Hai

vbTuesday

3

Thứ ba

vbWednesday

4

Thứ Tư

vbThursday

5

Thứ Năm

vbFriday

6

Thứ Sáu

vbSaturday

7

Thứ Bảy

Hằng số

Giá trị

Mô tả

vbUseSystem

0

Sử dụng thiết đặt API NLS.

vbFirstJan1

1

Bắt đầu với tuần trong đó ngày 1 tháng 1 xảy ra (mặc định).

Vbfirstdays

2

Bắt đầu với tuần đầu tiên có ít nhất bốn ngày trong năm mới.

vbFirstFullWeek

3

Bắt đầu với tuần đầy đủ đầu tiên của năm.

Chú thích

Bạn có thể sử dụng hàm Datediff để xác định có bao nhiêu khoảng thời gian đã xác định tồn tại giữa hai ngày. Ví dụ, bạn có thể sử dụng Datediff để tính toán số ngày giữa hai ngày, hoặc số tuần giữa ngày hôm nay và cuối năm.

Để tính toán số ngày giữa date1date2, bạn có thể dùng một ngày trong năm ("y") hoặc ngày ("d"). Khi khoảng thời gian là ngày trong tuần ("w"), datediff trả về số tuần giữa hai ngày. Nếu date1 té ngã vào thứ hai, datediff sẽ đếm số thứ hai cho đến khi date2. Nó đếm date2 nhưng không phải date1. Tuy nhiên, nếu khoảng cách là tuần ("WW"), hàm datediff trả về số tuần lịch giữa hai ngày. Nó đếm số ngày chủ nhật giữa date1date2. Datediff đếm date2 nếu nó rơi vào Chủ Nhật; nhưng nó không đếm date1, ngay cả khi nó không rơi vào chủ nhật.

Nếu date1 tham chiếu đến một điểm cuối cùng trong thời gian Date2, hàm datediff trả về một số âm.

Đối số firstdayofweek ảnh hưởng đến các phép tính sử dụng biểu tượng khoảng "w" và "WW".

Nếu date1 hoặc date2 là một ký tự ngày, năm đã xác định sẽ trở thành một phần thường trực của ngày đó. Tuy nhiên, nếu date1 hoặc date2 được đặt trong dấu nháy kép (""), và bạn bỏ qua năm, năm hiện tại được chèn vào mã của bạn mỗi khi biểu thức date1 hoặc date2 được đánh giá. Điều này giúp bạn có thể viết mã có thể được sử dụng trong các năm khác nhau.

Khi so sánh ngày 31 tháng 12 đến 1 tháng một của năm kế thừa ngay lập tức, Datediff for year ("yyyy") trả về 1, ngay cả khi chỉ có một ngày đã trôi qua.

Lưu ý:  Đối với date1date2, nếu thiết đặt thuộc tính lịch là Gregorian, ngày cung cấp phải được dương lịch. Nếu lịch là Hijri, ngày đã cung cấp phải là Hijri.

Ví dụ về truy vấn DateDiff

Biểu thức

Kết quả

CHỌN DateDiff ("yyyy", #01/01/2010 #, [DateofSale]) là Expr1 từ ProductSales;

Trả về chênh lệch giữa Date2 và Date1 (xem xét Date1 như cũ nhất và Date2 như mới nhất) là số ' năm '. Kết quả: sự khác biệt giữa các giá trị trong trường "DateofSale" và ngày "01/01/2010" làm số ' năm '.

CHỌN DateDiff ("q", [DateofSale], Date ()) là DaysSinceSale từ ProductSales;

Trả về sự khác biệt giữa ngày hệ thống và "DateofSale" là số ' quý ' (dựa trên năm Calendar) và hiển thị trong cột "DaysSinceSale". trả về chênh lệch giữa ngày hệ thống và "DateofSale" là số ' tháng ' và hiển thị trong cột "DaysSinceSale".

CHỌN DateDiff ("y"; [DateofSale], Date ()) là DaysSinceSale từ ProductSales;

Trả về chênh lệch giữa ngày hệ thống và "DateofSale" là số ' ngày ' và hiển thị trong cột "DaysSinceSale".

CHỌN DateDiff ("d", [DateofSale], Date ()) là DaysSinceSale từ ProductSales;

Trả về chênh lệch giữa ngày hệ thống và "DateofSale" là số ' ngày ' và hiển thị trong cột "DaysSinceSale".

CHỌN DateDiff ("w", [DateofSale], Date ()) là DaysSinceSale từ ProductSales;

Trả về sự khác biệt giữa ngày hệ thống và "DateofSale" là số ' ngày trong tuần ' và hiển thị trong cột "DaysSinceSale". Nếu "DateofSale" té ngã vào thứ hai, DateDiff đếm số thứ hai cho đến ngày hệ thống. Nó đếm ngày hệ thống nhưng không phải là giá trị trong "DateofSale".

CHỌN DateDiff ("WW"; [DateofSale], Date ()) là DaysSinceSale từ ProductSales;

Trả về chênh lệch giữa ngày hệ thống và "DateofSale" là số "tuần lịch" và hiển thị trong cột "DaysSinceSale". Nó đếm số chủ nhật giữa "DateofSale" và "ngày hệ thống". Nó sẽ đếm ngày hệ thống nếu nó rơi vào ngày Chủ Nhật; nhưng nó không đếm được "DateofSale", ngay cả khi nó không rơi vào chủ nhật.

CHỌN DateDiff ("h", [DateTime], Date ()) là DaysSinceSale từ ProductSales;

Trả về chênh lệch giữa ngày hệ thống và "DateTime" là số ' giờ ' và hiển thị trong cột "DaysSinceSale".

CHỌN DateDiff ("n", [DateTime], Date ()) là DaysSinceSale từ ProductSales;

Trả về chênh lệch giữa ngày hệ thống và "DateTime" là số ' phút ' và hiển thị trong cột "DaysSinceSale".

CHỌN DateDiff ("s", [DateTime], Date ()) là DaysSinceSale từ ProductSales;

Trả về chênh lệch giữa ngày hệ thống và "DateTime" là số ' giây ' và hiển thị trong cột "DaysSinceSale".

Biểu thức ví dụ

Sử dụng hàm DateDiff trong một biểu thức     Bạn có thể sử dụng hàm Datediff bất cứ nơi nào bạn có thể sử dụng biểu thức. Ví dụ, giả sử bạn có một biểu mẫu mà bạn sử dụng để hoàn thành đơn hàng của khách hàng. Trong bảng đơn hàng, bạn có một trường có tên là ReceiveBefore có chứa ngày mà khách hàng cần nhận thứ tự. Bạn có thể sử dụng hàm Datediff bằng một hộp văn bản trên biểu mẫu để hiển thị số ngày bên trái trước thứ tự phải đóng tàu.

Giả sử phải mất mười ngày để gửi bất kỳ thứ tự nào, bạn đặt thuộc tính nguồn điều khiển của hộp văn bản như sau:

= DateDiff ("d", Now (), [đơn hàng]. [ ReceiveBefore])-10

Khi bạn mở biểu mẫu trong dạng xem biểu mẫu, hộp văn bản Hiển thị số ngày bên trái trước thứ tự phải đóng tàu. Nếu khách hàng có ít hơn 10 ngày trước khi khách hàng cần nhận đơn hàng, thì số lượng trong hộp văn bản là âm và cho biết có bao nhiêu ngày cuối thứ tự sẽ xảy ra nếu nó được chuyển ngay lập tức.

Ví dụ về VBA

Sử dụng hàm Datediff trong mã VBA    

Ví dụ này sử dụng hàm Datediff để hiển thị số ngày giữa một ngày đã cho và ngày hôm nay.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Lưu ý:  Trang này được dịch tự động nên có thể chứa các lỗi về ngữ pháp hoặc nội dung không chính xác. Mục đích của chúng tôi là khiến nội dung này trở nên hữu ích với bạn. Cho chúng tôi biết thông tin này có hữu ích hay không? Dưới đây là bài viết bằng tiếng Anh để bạn tham khảo..​

Xem Thêm

Chọn hàm ngày đúng

Bạn cần thêm trợ giúp?

Phát triển kỹ năng Office của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Người dùng nội bộ Office

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

Cảm ơn bạn đã phản hồi! Để trợ giúp tốt hơn, có lẽ chúng tôi sẽ kết nối bạn với một trong những nhân viên hỗ trợ Office của chúng tôi.

×