以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 日期问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=145835) |
-- 作者:zhangjin -- 发布时间:2020/2/8 22:04:00 -- 日期问题 StartDate = New Date(Year,Month,1) \'获得该月第一天 EndDate = New Date(Year,Month,Date.DaysInMonth(Year,Month)) \'获得该月最后一天 MessageBox.show(EndDate) DataTables("alarm_system_netnumber").LoadFilter = "district=\'" & fs.text & "\' And datetime>= #" & StartDate & "# And datetime<= #" & EndDate & "#" 为什么,这里找出的记录只到12月30没有31日的。我查2019年12月的, enddate显示出来的是2019-12-31没有错,但找出的记录只到2019-12-30,这是为什么
|
-- 作者:有点蓝 -- 发布时间:2020/2/9 21:39:00 -- 比如日期值为2019-12-31,那么指的是:2019-12-31 00:00:00,如果日期数据为2019-12-31 12:00:00,当然就查不到了。所以如果日期值是有时分秒数据的应该这样: DataTables("alarm_system_netnumber").LoadFilter = "district=\'" & fs.text & "\' And datetime>= #" & StartDate & "# And datetime < #" & EndDate.adddays(1) & "#"
|
-- 作者:shenyl0211 -- 发布时间:2020/2/12 14:24:00 -- 考虑日期内或外的写法: EndDate = EndDate.AddHours(23) EndDate = EndDate.AddMinutes(59) EndDate = EndDate.AddSeconds(59) 或 EndDate = EndDate.adddays(1) EndDate = EndDate.AddSeconds(-1) 然后 If 两日期之外 Filter = 起始日期 & " < \'" & StartDate & "\' or " & 截止日期 & " > \'" & EndDate & "\'" Else 两日期之内 Filter = 起始日期 & " >= \'" & StartDate & "\' And " & 截止日期 & " <= \'" & EndDate & "\'" End If
|
-- 作者:有点蓝 -- 发布时间:2020/2/12 14:29:00 -- 3楼的用法是有问题的,因为可能还有有毫秒值,比如:2019-12-31 23:59:59.9999,所以应该是2楼的用法 |
-- 作者:shenyl0211 -- 发布时间:2020/2/14 10:08:00 -- 谢谢蓝版指点。蓝版真细心、周到。 |