以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- IIF表达式 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=187993) |
-- 作者:michl -- 发布时间:2023/8/25 12:05:00 -- IIF表达式 Dim y As Integer = Date.Today.Year Dim m As Integer = 12 \'Date.Today.Month Dim dt As Date ’dt = IIf(m = 12, New Date(y + 1, 1, 1), New Date(y, m + 1, 1)) 上面IIf表达式为什么不能用,没看出和下面代码有啥区别啊 If m = 12 Then dt = New Date(y + 1, 1, 1) Else dt = New Date(y, m + 1, 1) End If Output.Show(dt)
|
-- 作者:有点蓝 -- 发布时间:2023/8/25 12:09:00 -- IIf会同时执行【New Date(y + 1, 1, 1), New Date(y, m + 1, 1)】,而if只会执行符合条件的分支 再说上面的2种代码都不合理,要获取明年1月1日,应该这样 Dim y As Integer = Date.Today.Year Dim dt As Date = New Date(y, 1, 1).addyears(1) msgbox(dt) 要获取下个月应该这样 Dim dt As Date = New Date(Date.Today.Year, Date.Today.month, 1).addmonths(1) msgbox(dt) [此贴子已经被作者于2023/8/25 12:10:22编辑过]
|
-- 作者:michl -- 发布时间:2023/8/25 12:21:00 -- 明白了,谢谢 |