Tìm sự khác biệt giữa hai ngày có thể hữu ích cho nhiều quy trình công việc. Sử dụng hàm DATETIME_DIFF() trong ví dụ bên dưới, chúng ta sẽ tìm thấy sự khác biệt - theo ngày - giữa hai ngày. Lưu ý rằng "Đã nhận thanh toán" và "Hóa đơn đã lập hóa đơn" là tên chính xác của hai cột bên dưới
DATETIME_DIFF( {Payment Received}, {Invoice Billed}, 'days' )Một cách sử dụng phổ biến khác của DATETIME_DIFF() là tìm sự khác biệt giữa ngày của bản ghi và ngày hôm nay. Bạn có thể sử dụng DATETIME_DIFF() kết hợp với công thức NOW() để tự động tìm sự khác biệt so với ngày hôm nayDATETIME_DIFF( NOW(), {Invoice Billed}, 'days' )
Ví dụ khác, bạn cũng có thể sử dụng DATETIME_DIFF để tìm tuổi của ai đó vào ngày sinh nhật của họ
DATETIME_DIFF( {Birth Date}, NOW(), 'years' ) * -1Hiển thị ở định dạng thập phân
Trong một ví dụ khác, nếu bạn cần đo thời gian nhân viên làm việc mỗi ngày, bạn có thể tạo hai trường ngày để theo dõi thời gian vào và giờ ra của họ. Sử dụng hàm DATETIME_DIFF() như sau, bạn có thể hiển thị tổng số giờ đã làm việc trong ngày
DATETIME_DIFF({Clock Out},{Clock In},'minutes') / 60Hiển thị ở định dạng thời lượng
Thay vào đó, nếu bạn cần hiển thị sự khác biệt này ở định dạng thời lượng, bạn có thể thực hiện một điều chỉnh nhỏ cho công thức của mình, sử dụng seconds thay vì DATETIME_DIFF( NOW(), {Invoice Billed}, 'days' ) 0 và xóa / DATETIME_DIFF( NOW(), {Invoice Billed}, 'days' ) 1 khỏi cuối công thức
Ví dụ
Trả về sự khác biệt giữa hai giá trị ngày, tính bằng năm
CHỌN DATEDIFF(năm, '25/08/2017', '25/08/2011') AS DateDiff;
Tự mình thử »Định nghĩa và cách sử dụng
Hàm DATEDIFF() trả về sự khác biệt giữa hai ngày
cú pháp
DATEDIFF(khoảng thời gian, ngày1, ngày2)
Giá trị tham số
Tham sốDescriptionintervalBắt buộc. Phần trở lại. Có thể là một trong các giá trị sau- năm, yyyy, yy = Năm
- quý, qq, q = Quý
- tháng, mm, m = tháng
- dayofyear = Ngày trong năm
- ngày, dy, y = Ngày
- tuần, ww, wk = Tuần
- ngày trong tuần, dw, w = Ngày trong tuần
- giờ, hh = giờ
- phút, mi, n = Phút
- thứ hai, ss, s = Thứ hai
- mili giây, ms = Mili giây
chi tiết kỹ thuật
hoạt động trong. Máy chủ SQL (bắt đầu từ năm 2008), Cơ sở dữ liệu Azure SQL, Kho dữ liệu Azure SQL, Kho dữ liệu song songThêm ví dụ
Ví dụ
Trả về sự khác biệt giữa hai giá trị ngày tháng
CHỌN DATEDIFF(tháng, '25/08/2017', '25/08/2011') AS DateDiff;
Tự mình thử »Ví dụ
Trả về sự khác biệt giữa hai giá trị ngày, tính bằng giờ
CHỌN DATEDIFF(giờ, '25/08/2017 07. 00', '25/08/2017 12. 45') AS DateDiff;
Tự mình thử »dataDiff trả lại cho bạn sự khác biệt trong vài giây. Bạn có đầu ra gì?
Mã mẫu tôi đã viết
var grTask = new GlideRecord('sc_req_item');
grTask. addQuery('sys_id','5eec52291b3e3300364d32a3cc4bcb08');
grTask. truy vấn();
nếu (grTask. Kế tiếp()){
gs. in('Số'+grTask. số +". Được tạo ra. "+grTask. ngày đáo hạn);
var gdt1 = new GlideDateTime(grTask. ngày đáo hạn);
gs. print("Ngày tạo. "+gdt1. hẹn gặp());
var gdt = new GlideDateTime('2019-07-22 03. 56. 25');
gs. in("GDT. "+gdt. hẹn gặp());
var startDate = gdt1. hẹn gặp();
var ngày hiện tại = gdt. hẹn gặp();
var diffSeconds = gs. dateDiff(ngày hiện tại. getDisplayValue(),ngày bắt đầu. getDisplayValue(), true);
var daysIn = (diffSeconds/(60*60*24));
gs. in(dayIn );
}
Vui lòng đánh dấu là Câu trả lời đúng/Hữu ích, nếu có
Cảm ơn
Abhishek Gardade
Cảm ơn,
Abhishek Gardade
Hệ thống chữ T
Tôi có hai trường Ngày A và Ngày B, tôi muốn trừ các trường này ví dụ {Ngày A} - {Ngày B} và trả về giá trị theo ngày hoặc số có được không? . Tôi đang sử dụng Số tính toán JWT
Kết quả. Ngày-Giờ được tính toán
Dữ liệu A. 08/May/20Dữ liệu B. 09/May/20Dữ liệu Tổng cộng. 31/12/69 21. 00Kết quả. Trường số được tính toán
Dữ liệu A. 08/May/20Dữ liệu B. 30/05/20Tổng dữ liệu N. 0