Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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 查找给定日期和天数的日期_Vb.net - Fatal编程技术网

Vb.net 查找给定日期和天数的日期

Vb.net 查找给定日期和天数的日期,vb.net,Vb.net,我正在寻找一个功能,当在duration文本框中输入duration period number时,该功能将帮助我自动检测到期日。我面临挑战,因为所有月份都不是以相同的日期编号结束的,即31,因为有些月份在30结束 注:如果假设用户输入3,则该函数应能自动计算到下一年,而在2018年11月,其意味着持续时间将延长到2019年1月 见下图 我已经尝试了上述方法,但它给我的是一个整数类型的错误值,无法转换为system.TimeSpan。如果我理解正确,如果用户输入3,则您希望从开始日期起30天后

我正在寻找一个功能,当在duration文本框中输入duration period number时,该功能将帮助我自动检测到期日。我面临挑战,因为所有月份都不是以相同的日期编号结束的,即31,因为有些月份在30结束

注:如果假设用户输入3,则该函数应能自动计算到下一年,而在2018年11月,其意味着持续时间将延长到2019年1月 见下图


我已经尝试了上述方法,但它给我的是一个整数类型的错误值,无法转换为system.TimeSpan。

如果我理解正确,如果用户输入3,则您希望从开始日期起30天后前进3倍

Dim start_date = dtpStart.Value
Dim end_date = start_date.AddDays(3* 30)
就功能而言,您可以有:

private function AddDays(Byval start_date as Date, Byval amount as integer) as Date
    Dim end_date = start_date.AddDays(amount)
    return end_date
end function
其用途是:

Dim new_date = AddDays(dtpStart.Value, 3*30)

我尝试了以下操作,但其给我的类型为integer的错误值无法转换为system.TimeSpan Dim start\u date As date=dtpStart.value Dim totalDays As integer=3*30 Dim ts As TimeSpan=start\u date.AddtotalDays Dim end\u date As date=t请不要在注释中发布多行代码。您应该发布您在问题中尝试的代码,因此请编辑您的问题并添加格式正确的相关代码。也就是说,解决方案很简单,您应该自己找到它,因为您现在应该已经阅读了DateTime类型的文档。您只需在包含开始日期的DateTime上调用AddDays,它将返回另一个包含正确日期的DateTime。-1。一个简单的谷歌搜索解决了这个问题。而且官方文件也非常直截了当:我投票将这个问题作为离题题来结束,因为它没有显示任何研究成果。
Dim new_date = AddDays(dtpStart.Value, 3*30)