以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于DateYMD函数计算不正确的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=108941)

--  作者:xy0739
--  发布时间:2017/11/1 11:13:00
--  [求助]关于DateYMD函数计算不正确的问题

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


2017-10-1 到 2017-10-31 为什么不是一个月,而是30天呢?

--  作者:有点甜
--  发布时间:2017/11/1 12:00:00
--  

你要这个?

 

Dim d1 As Date = "2017-10-01"
Dim d2 As Date = "2017-10-31"
Dim y,m, d As Integer
DateYMD(d1, d2.AddDays(1), y,m,d)
msgbox(y & m & d)

 

30天有什么错?你一个月的逻辑是什么?

 

1、开始时间是1号,结束时间是最后一天?

 

2、间隔是30天就是1月?那2017-10-10到2017-11-10呢?


--  作者:xy0739
--  发布时间:2017/11/1 14:05:00
--  回复:(有点甜)你要这个??Dim d1 As Date...
10-1到10-31  不是31天吗。。。?

好吧,间隔?我也不知道这个函数把哪天给间隔掉了。。。

既然间隔我就加一天进去咯,没办法了。图片点击可在新窗口打开查看



[此贴子已经被作者于2017/11/1 14:06:30编辑过]

--  作者:shenyl0211
--  发布时间:2017/11/1 14:22:00
--  
1、你于2016年10月1日存款,定期1年,则2017年10月1日取款算1年定期,而2017年9月30日取款,只能按活期。
2、同理,你于10月1日存款,到10月2日只能算1天。
3、当然,如果上班、出差、请假之类的天数,需要加1天,这才是你想要的结果。
所以,不同的应用有不同的算法,自己测试、调整就行。

--  作者:有点甜
--  发布时间:2017/11/1 14:23:00
--  

 如果要计算总天数,参考

 

http://www.foxtable.com/webhelp/scr/0287.htm

 


--  作者:xy0739
--  发布时间:2017/11/1 16:24:00
--  回复:(shenyl0211)1、你于2016年10月1日存款,定期...
哦,明白。