Vb.net 获取两个日期之间的天数,更改日期时保持天数不变
用户希望编辑开始日期。开始日期和结束日期之间的天数必须始终相同 比如说 开始日期最初为2014年7月28日,结束日期为2014年8月1日 日期相隔4天 用户将开始日期更改为2014年6月1日 截止日期现在必须为2014年6月5日 我很难理解这个逻辑 您只需使用Date.AddDays或更好的DateTime方法:TimeSpan:Vb.net 获取两个日期之间的天数,更改日期时保持天数不变,vb.net,Vb.net,用户希望编辑开始日期。开始日期和结束日期之间的天数必须始终相同 比如说 开始日期最初为2014年7月28日,结束日期为2014年8月1日 日期相隔4天 用户将开始日期更改为2014年6月1日 截止日期现在必须为2014年6月5日 我很难理解这个逻辑 您只需使用Date.AddDays或更好的DateTime方法:TimeSpan: 这有两个方面: 计算两个日期之间的天数 就我个人而言,我会使用我的API来实现这一点,但您仍然可以使用BCL的DateTime类型—从另一个DateTime中减去一个
这有两个方面: 计算两个日期之间的天数 就我个人而言,我会使用我的API来实现这一点,但您仍然可以使用BCL的DateTime类型—从另一个DateTime中减去一个DateTime以获得时间跨度,然后使用属性。然后将结果转换为整数。你需要确保他们真的只是约会,以避免得到一天的零头。如果你愿意,你甚至可以保持时间跨度 根据另一个日期调整一个日期 如果您知道要将两者分开多少天,只需适当地使用DateTime.AddDays。例如,如果startDate已更改:
endDate = startDate.AddDays(days)
startDate = endDate.AddDays(-days)
如果endDate已更改:
endDate = startDate.AddDays(days)
startDate = endDate.AddDays(-days)
取两个日期时间选择器dtp\U开始日期和dtp\U结束日期。 取一个数字向上向下表示两天之间的间隔
Public Class Form1
Dim start_date As New Date
Dim end_date As New Date
Dim main_load As Boolean
Private Sub dtp_start_date_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dtp_start_date.ValueChanged
If main_load = True Then
Try
start_date = dtp_start_date.Value
end_date = start_date.AddDays(nm_days.Value)
dtp_end_date.Value = end_date
Catch ex As Exception
End Try
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
main_load = True
start_date = dtp_start_date.Value
end_date = dtp_end_date.Value
End Sub
End Class
谢谢,我将尝试这些解决方案