-
RE: Tính Toán thời gian giữa hai thời điểm với datediff
minhden21 > 30-09-12, 01:07 AM
Nếu dùng theo công thức của bác thì em vẫn còn thắc mắc đó là: Tính Thâm niên công tác từ 31/12/2009 đến 01/01/2010 thì vẫn tính ra được 1 năm ... vô lý quá ! Có cách nào tính thâm niên chính xác không. Em ví dụ là em nhận công tác từ ngày 10/10/2005 nhưng phải đến 10/10/2006 em mới được 1 năm thâm niên, còn chưa tới ngày đó thì thâm niên của em chưa được tính. Các bác giúp em với
-
RE: Tính Toán thời gian giữa hai thời điểm với datediff
dangphuong9x@gmail.com > 16-10-12, 11:49 AM
sao mình làm mà không được nhỉ>?
mình tạo ra 1 trường là ngày bắt đầu
1 trường ngày kết thúc
sau đó mình sử dụng dateiif để trừ đi mà không chạy được
dateiif("m",[table].[field1],[table].[field2])
các bạn gúp mình nhé! -
RE: Tính Toán thời gian giữa hai thời điểm với datediff
Noname > 16-10-12, 12:27 PM
(16-10-12, 11:49 AM)dangphuong9x@gmail.com Đã viết: sao mình làm mà không được nhỉ>?
mình tạo ra 1 trường là ngày bắt đầu
1 trường ngày kết thúc
sau đó mình sử dụng dateiif để trừ đi mà không chạy được
dateiif("m",[table].[field1],[table].[field2])
các bạn gúp mình nhé!
datediff chứ không phải dayiif -
RE: Tính Toán thời gian giữa hai thời điểm với datediff
lenga2212 > 28-01-13, 05:34 PM
cảm ơn bạn vì thông tin bổ ích này -
RE: Tính Toán thời gian giữa hai thời điểm với datediff
khainguyen8615@ymail.com > 28-01-13, 07:23 PM
Tính Toán thời gian giữa hai thời điểm với dateiff
Để tính số ngày, số tháng, số quý giữa hai thời kỳ nhằm phục vụ báo cáo.Cụ thể tính tiền trợ cấp hoặc bảo hiểm xã hội!
Dùng hàm: DateIff( loại, từ ngày, đến ngày)
hàm datediff("d", date1, date2) để tính số ngày
hàm datediff("m", date1, date2) để tính số tháng
hàm datediff("q", date1, date2) để tính số quý ....
Theo vậy ta có:
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week
h Hour
n Minute
s Second
sau khi tính duoc số tháng phải dùng dấu chia ngược "\" hoặc dùng hàm roud() kết hợp với lệnh mod để tính ra số năm và số tháng
ví dụ: trên báo cáo BHXH thời gian đóng BHXH cua Nhân viên có tên " = MINH "là ngày 15 tháng 01 năm 1980 đến ngày 15 tháng 6 năm 1982 là 2 năm 5 tháng phải làm như sau:
datediff("m",#01/15/1980#,#06/15/1982#) --> cho kết quả 29
hoặc
datediff("m", dateserial(1980,01,15), dateserial(1982,06,15)) --> cho kết quả 29
để tìm ra số năm ta có thể lấy 29\12 = 2 hoặc round(29/12,0) = 2
để tinh số tháng ta lấy 29 mod 12 = 5
Chịu khó tìm thêm các tài liệu của các bậc tiền bối mà nghiên cứu : Ông Văn Thông , Lập trình access,v.v.v.v
Khải Nguyên Sorry ! -
RE: Tính Toán thời gian giữa hai thời điểm với datediff
maidinhdan > 29-06-15, 06:41 PM
(13-08-10, 10:40 PM)Noname Đã viết: Đôi khi bạn có nhu cầu tính số ngày, số tháng, số quý giữa hai thời kỳ nhằm phục vụ báo cáo.Cụ thể tính tiền trợ cấp hoặc bảo hiểm xã hội!
Mình xin giới thiệu hàm: DateIff( loại, từ ngày, đến ngày)
để tìm ra số năm ta có thể lấy 29\12 = 2 hoặc round(29/12,0) = 2
Xin góp ý anh No ở phần này dùng hàm Round có thể không ổng khi những ai có tháng >6, nó sẽ làm tròn thành 1 năm.
Vì vậy góp ý sử dụng hàm Fix là tốt nhất để lấy phần nguyên.
Ví dụ: 12,9 năm;
+ Round(12,9) => 13 ( Hàm này nguy hiểm khi tính thâm niên nhé)
+ Fix (12,9) => 12
Xin cho thêm vài ý kiến -
RE: Tính Toán thời gian giữa hai thời điểm với datediff
Noname > 29-06-15, 09:27 PM
-
RE: Tính Toán thời gian giữa hai thời điểm với datediff
jason > 10-12-16, 09:37 AM
(13-08-10, 10:40 PM)Noname Đã viết: Đôi khi bạn có nhu cầu tính số ngày, số tháng, số quý giữa hai thời kỳ nhằm phục vụ báo cáo.Cụ thể tính tiền trợ cấp hoặc bảo hiểm xã hội!
Mình xin giới thiệu hàm: DateIff( loại, từ ngày, đến ngày)
bạn dùng hàm datediff("d", date1, date2) để tính số ngày
bạn dùng hàm datediff("m", date1, date2) để tính số tháng
bạn dùng hàm datediff("q", date1, date2) để tính số quý ....
Loại ta có:
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week
h Hour
n Minute
s Second
sau khi tính duoc số tháng ban dùng dấu chia ngược "\" hoặc dùng hàm roud() kết hợp với lệnh mod để tính ra số năm và số tháng
ví dụ: trên báo cáo BHXH thời gian đóng BHXH cua Nhân viên A là ngày 15 tháng 01 năm 1980 đến ngày 15 tháng 6 năm 1982 là 2 năm 5 tháng ban làm như sau:
datediff("m",#01/15/1980#,#06/15/1982#) --> cho kết quả 29
hoặc
datediff("m", dateserial(1980,01,15), dateserial(1982,06,15)) --> cho kết quả 29
để tìm ra số năm ta có thể lấy 29\12 = 2 hoặc fix(29/12) = 2
để tinh số tháng ta lấy 29 mod 12 = 5
Chào No và diễn đàn !
mọi người giúp mình vấn đề nầy với:
sumdate: DateDiff("d",[tungay]-1,[denngay])-DateDiff("ww",[tungay]-1,[denngay],6)
hàm trên mình viết trong query tính số ngày trong khoảng thời gian "tungay" -> "denngay" trừ ngày chủ nhật và ngày lễ
+ ngày chủ nhật thì như trên là OK
+ còn ngày lễ mình chưa biết xử lý thế nào (tìm trên diễn đàn mà không thấy nên hỏi ké topic của Noname. mong Noname lượng thứ)
VD: lễ 30/4, 1/5 hoặc 1/1 làm giúp mình ngày dương lịch cũng được vì mình biết âm lịch thì khó. nếu được thì giúp cả 2 càng tôt . thanks all
Mong mọi người giúp với
trân trọng ! -
RE: Tính Toán thời gian giữa hai thời điểm với datediff
ongke0711 > 11-12-16, 12:57 PM
(10-12-16, 09:37 AM)jason Đã viết: sumdate: DateDiff("d",[tungay]-1,[denngay])-DateDiff("ww",[tungay]-1,[denngay],6)
hàm trên mình viết trong query tính số ngày trong khoảng thời gian "tungay" -> "denngay" trừ ngày chủ nhật và ngày lễ
+ ngày chủ nhật thì như trên là OK
+ còn ngày lễ mình chưa biết xử lý thế nào (tìm trên diễn đàn mà không thấy nên hỏi ké topic của Noname. mong Noname lượng thứ)
VD: lễ 30/4, 1/5 hoặc 1/1 làm giúp mình ngày dương lịch cũng được vì mình biết âm lịch thì khó. nếu được thì giúp cả 2 càng tôt . thanks all
Mong mọi người giúp với
trân trọng !
1. Câu lệnh tính sumdate của bạn cho kết quả không đúng cho mọi trường hợp đâu. Sai ở đoạn “tính số tuần” trong khoảng thời gian [tungay], [denngay].
Vd: Bạn thử tính trường hợp: ngày dạng mm/dd/yyyy để code VBA hiểu đúng ngày
- Từ #12/04/2016# - #12/11/2016#: sai số tuần
- Từ #12/08/2016# - #12/16/2016#: sai số tuần do tham số [FirstdayOfWeek] của bạn là 6
2. Về việc tính đến các ngày nghỉ Lễ thì cũng đơn giản là bạn phải tạo 1 table ngày nghỉ lễ sau đó dùng hàm Dcount() để đếm số ngày lễ trong khoản thời gian [tungay],[denngay] bạn đang cần tính, sau đó lấy số ngày làm việc trừ số Dcount vừa tìm được.
Thấy cũng có nhu cầu nên tôi có up cái hàm fWorkingDays lên để các bạn có nhu cầu thì sử dụng.
Link: http://thuthuataccess.com/forum/thread-9709.html -
RE: Tính Toán thời gian giữa hai thời điểm với datediff
ngocthinh1126 > 16-12-18, 04:09 PM
vậy như thế mỗi lần tính phải nhập datediff("m",#01/15/1980#,#06/15/1982#) ngày cụ thể như thế hả ???