Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
| Hàm | Áp dụng cho |
|---|---|
| DateAdd DateDiff |
|
| TimeZoneOffset |
|
| Hàm | Áp dụng cho |
|---|---|
| DateAdd | |
| DateDiff | |
| TimeZoneOffset |
Thêm hoặc tìm khoảng thời gian giữa các giá trị ngày/giờ và chuyển đổi giữa giờ địa phương và giờ UTC.
Mô tả
Hàm DateAdd cộng một số đơn vị vào một giá trị ngày/giờ. Hàm trả về kết quả là một giá trị ngày/giờ mới. Bạn cũng có thể trừ một số đơn vị vào giá trị ngày/giờ bằng cách chỉ định giá trị âm.
Hàm DateDiff trả về chênh lệch giữa hai giá trị ngày/giờ. Kết quả là một số nguyên.
Đối với cả hai hàm, đơn vị có thể là TimeUnit.Mili giây, TimeUnit.Giây, TimeUnit.Phút, TimeUnit.Giờ, TimeUnit.Ngày, TimeUnit.Tháng, TimeUnit.Quarters hoặc TimeUnit.Năm. Theo mặc định, cả hai hàm đều sử dụng TimeUnit.Days làm đơn vị.
Hàm TimeZoneOffset trả về số phút giữa giờ địa phương của người dùng và giờ UTC (Giờ Quốc tế Phối hợp).
Bạn có thể sử DateAdd dụng với để TimeZoneOffset chuyển đổi giữa giờ địa phương của người dùng và UTC (Giờ Quốc tế Phối hợp). Cộng TimeZoneOffset thêm sẽ chuyển đổi giờ địa phương thành UTC và trừ nó (cộng âm) sẽ chuyển đổi từ UTC sang giờ địa phương.
Ngoài ra, hãy xem kiểu dữ liệu Ngày, Giờ và Ngày giờ và cách làm việc với ngày và giờ để biết thêm thông tin.
Cú pháp
DateAdd( DateTime, Addition [, Units ] )
- Ngày giờ - Bắt buộc. Giá trị ngày/giờ cần xử lý.
- Bổ sung - Bắt buộc. Số (bằngUnits (đơn vị)) sẽ thêm vào DateTime.
- Đơn vị - Tùy chọn. Loại Đơn vị cần thêm: Đơn vị thời gian.Mili giây, Đơn vị thời gian.Giây, Đơn vị thời gian.Phút, Đơn vị thời gian.Giờ, Đơn vị thời gian.Ngày, Đơn vị thời gian.Tháng, Đơn vị thời gian.Quarters hoặc Đơn vị thời gian.Năm. Nếu không được chỉ định, TimeUnit.Days sẽ được sử dụng.
DateDiff( StartDateTime, EndDateTime [, Units ] )
- StartDateTime - Bắt buộc. Giá trị ngày giờ bắt đầu.
- EndDateTime - Bắt buộc. Giá trị ngày giờ kết thúc.
- Đơn vị - Tùy chọn. Loại Đơn vị cần trừ: Đơn vị thời gian.Mili giây, Đơn vị thời gian.Giây, Đơn vị thời gian.Phút, Đơn vị thời gian.Giờ, Đơn vị thời gian.Ngày, Đơn vị thời gian.Tháng, Đơn vị thời gian.Quarters hoặc Đơn vị thời gian.Năm. Nếu không được chỉ định, TimeUnit.Days sẽ được sử dụng.
TimeZoneOffset( [ DateTime ] )
- Ngày giờ - Tùy chọn. Giá trị ngày/giờ cần trả về phần bù. Theo mặc định, hàm sử dụng ngày/giờ hiện tại.
Ví dụ
Trong tất cả các ví dụ sau, giả sử rằng ngày và giờ hiện tại là July 15, 2013, 1:02 PM (13:02 ngày 15 tháng 7 năm 2013).
Giản dị DateAdd
| Công thức | Mô tả | Kết quả |
|---|---|---|
|
Text( DateAdd( Now(), 3 ), "dd-mm-yyyy hh:mm" ) |
Thêm ba ngày (đơn vị mặc định) vào ngày và giờ hiện tại. | "18-07-2013 13:02" |
|
Text( DateAdd( Now(), 4, TimeUnit.Hours ), "dd-mm-yyyy hh:mm" ) |
Thêm bốn giờ vào ngày và giờ hiện tại. | "15-07-2013 17:02" |
|
Text( DateAdd( Today(), 1, TimeUnit.Months ), "dd-mm-yyyy hh:mm" ) |
Thêm một tháng vào ngày hiện tại, không có thời gian như Today sẽ không trả về thành phần thời gian. | "15-08-2013 00:00" |
|
Text( DateAdd( Now(), -30, TimeUnit.Minutes ), "dd-mm-yyyy hh:mm" ) |
Trừ 30 phút vào ngày và giờ hiện tại. | "15-07-2013 12:32" |
Giản dị DateDiff
| Công thức | Mô tả | Kết quả |
|---|---|---|
| DateDiff( Now(), DateValue("01/01/2014") ) | Trả về sự khác biệt giữa hai đơn vị theo đơn vị mặc định là TimeUnit.Days | 170 |
| DateDiff( Now(), DateValue("01/01/2014"), TimeUnit.Months ) | Trả về sự khác biệt giữa hai giá trị trong TimeUnit.Months | 6 |
| DateDiff( Now(), Today(), TimeUnit.Minutes ) | Trả về khoảng thời gian giữa ngày/giờ hiện tại và chỉ ngày hiện tại (không có thời gian) tính bằng phút. Vì Now sau Today, nên hàm trả về giá trị âm. | -782 |
Sự khác biệt của ngày với kết quả phân số
Hàm chỉ DateDiff trả về số nguyên của các đơn vị được trừ và độ chính xác được cung cấp trong đơn vị đã xác định. Để tính toán chênh lệch với độ chính xác cao hơn, hãy sử dụng một đơn vị nhỏ hơn và chuyển đổi kết quả một cách thích hợp, như trong các ví dụ bên dưới.
| Công thức | Mô tả | Kết quả |
|---|---|---|
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Hours ) | Các phút/giây được bỏ qua, sự chênh lệch dựa trên thời gian tính đến giờ. | 1 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Minutes )/60 | Số phút được sử dụng để tính chênh lệch, và kết quả được chia cho 60 để có hiệu số giờ. | 0.5 |
| DateDiff( TimeValue("09:45:00"), TimeValue("10:15:36"), TimeUnit.Seconds )/3600 | Số phút và giây được sử dụng để tính chênh lệch, và kết quả được chia cho 3600 để có hiệu số giờ. | 0.51 |
Chuyển sang giờ UTC
Để chuyển đổi sang UTC (Giờ Quốc tế Phối hợp), hãy thêm thời TimeZoneOffset gian đã cho.
Ví dụ: hãy tưởng tượng ngày và giờ hiện tại là July 15, 2013, 1:02 PM (13:00 ngày 15 tháng 7 năm 2013) theo Giờ ánh sáng ngày Thái Bình Dương (PDT, UTC-7). Để xác định thời gian hiện tại theo giờ UTC, hãy sử dụng:
- DateAdd( Now(), TimeZoneOffset(), TimeUnit.Minutes )
TimeZoneOffset mặc định cho thời gian hiện tại, vì vậy bạn không cần truyền tham đối.
Để xem kết quả, hãy sử dụng hàm Text với định dạng dd-mm-yyyy hh:mm, để nhận kết quả là 15-07-2013 20:02.
Chuyển từ giờ UTC
Để chuyển đổi từ UTC, trừ (bằng TimeZoneOffset cách cộng số âm) cho thời gian đã cho.
Ví dụ: hãy tưởng tượng ngày và giờ UTC July 15, 2013, 8:02 PM (20:02 ngày 15 tháng 7 năm 2013) được lưu trữ trong một biến có tên StartTime (Thời gian bắt đầu). Để điều chỉnh thời gian cho múi giờ của người dùng, hãy sử dụng:
- DateAdd( StartTime, −TimeZoneOffset( StartTime ), TimeUnit.Minutes )
Lưu ý dấu âm trước TimeZoneOffset để trừ bù trừ chứ không phải là thêm nó.
Để xem kết quả, hãy sử dụng hàm Text với định dạng dd-mm-yyyy hh:mm, để nhận kết quả là 15-07-2013 13:02 nếu bạn đang ở Giờ ánh sáng ngày Thái Bình Dương.