Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net DateAdd函数用于添加月份_Vb.net_Visual Studio - Fatal编程技术网

Vb.net DateAdd函数用于添加月份

Vb.net DateAdd函数用于添加月份,vb.net,visual-studio,Vb.net,Visual Studio,我使用此代码添加了个月 dtExpiry = DateAdd(DateInterval.Month, intDuration, dtStartDate) 我也试过这个密码 dtExpiry = DateAdd("m", bytDuration, dtMemStartDate) 但每一次都只是增加了几天而不是几个月。日期格式必须为dd/mm/yyyy。我已经将我的电脑日期格式更改为dd/mm/yyyy,但它仍然在增加天数而不是月份 顺便说一句,我正在从主调用程序接收持续时间和开始日期,该程序从

我使用此代码添加了个月

dtExpiry = DateAdd(DateInterval.Month, intDuration, dtStartDate)
我也试过这个密码

dtExpiry = DateAdd("m", bytDuration, dtMemStartDate)
但每一次都只是增加了几天而不是几个月。日期格式必须为dd/mm/yyyy。我已经将我的电脑日期格式更改为dd/mm/yyyy,但它仍然在增加天数而不是月份


顺便说一句,我正在从主调用程序接收持续时间和开始日期,该程序从CSV格式的数据文件中提取这些值。

您的代码看起来正常,但您可能有不正确的数据类型

试试这个,看看是否有效:

dtExpiry = DateAdd(DateInterval.Month, intDuration, CDate(dtStartDate))
如果有效,则检查
dtStartDate
的数据类型

如果切换,所有这些都可以避免,因为如果
dtStartDate
不是类型
DateTime

请注意,您还应该能够做到这一点:

dtexpiry = dtStartDate.AddMonths(intDuration)

如果
dtStartDate
不是
DateTime
,则即使在选项Strict Off的情况下,该选项也无法编译,因此可能是一个更安全的选项。

您的代码看起来正常,但可能有不正确的数据类型

试试这个,看看是否有效:

dtExpiry = DateAdd(DateInterval.Month, intDuration, CDate(dtStartDate))
如果有效,则检查
dtStartDate
的数据类型

如果切换,所有这些都可以避免,因为如果
dtStartDate
不是类型
DateTime

请注意,您还应该能够做到这一点:

dtexpiry = dtStartDate.AddMonths(intDuration)

如果
dtStartDate
不是
DateTime
,则即使使用选项Strict Off,该选项也无法编译,因此可能是更安全的选项。

使用
DateTime.tryparse
将字符串转换为日期,然后按以下方式使用? 您还可以指定转换,并明确告诉它字符串中的位置(m/d/y)

即:

Dim mydate As New Date

mydate = DateTime.ParseExact(datestring, "dd/MM/yyyy", Nothing, DateTimeStyles.NoCurrentDateDefault)  

Dim secondDate As New Date
secondDate = mydate.AddMonths(6)

还是我遗漏了您的问题?

使用
datetime.tryparse
将字符串转换为日期,然后按如下方式使用? 您还可以指定转换,并明确告诉它字符串中的位置(m/d/y)

即:

Dim mydate As New Date

mydate = DateTime.ParseExact(datestring, "dd/MM/yyyy", Nothing, DateTimeStyles.NoCurrentDateDefault)  

Dim secondDate As New Date
secondDate = mydate.AddMonths(6)

还是我遗漏了您的问题?

是否可以共享dtStartDate的值以及dtExpiry的结果?因此,开始日期为1990年2月15日,然后假设我们必须添加6个月。因此,有效期应为1990年8月15日。如果我使用您的开始日期和时间间隔,这两行代码对我来说都很好。你能加上准确的输入和输出吗?另外,它是VB.NET而不是VBA.NET。它是VB.NET,我添加了我的问题以使它更清楚。“我正在从主调用程序接收持续时间和开始日期,该程序从CSV格式的数据文件中提取这些值。”是
dtStartDate
真的是日期时间还是字符串(从该CSV中提取)?请注意,DateTime值没有格式。格式仅在将该日期转换为字符串(或返回)时适用。是否可以共享dtStartDate的值以及dtExpiry中的结果?因此开始日期类似于1990年2月15日,然后假设我们必须将其添加6个月。因此,有效期应为1990年8月15日。如果我使用您的开始日期和时间间隔,这两行代码对我来说都很好。你能加上准确的输入和输出吗?另外,它是VB.NET而不是VBA.NET。它是VB.NET,我添加了我的问题以使它更清楚。“我正在从主调用程序接收持续时间和开始日期,该程序从CSV格式的数据文件中提取这些值。”是
dtStartDate
真的是日期时间还是字符串(从该CSV中提取)?请注意,DateTime值没有格式。仅当您将该日期转换为字符串(或返回)时,格式才适用。