VB.NET中的DateTime问题

时间:2009-11-10 09:17:47

标签: vb.net datetime

好的,所以我需要以编程方式查找本周一的星期日。

例如,本周一是星期一,所以我需要的日期是:09/11/2009

当我们翻到下周时,它需要计算:16/11/2009

我自己尝试过这样做,但我看不出怎么做算术,谢谢。

3 个答案:

答案 0 :(得分:4)

C#:

date.AddDays(1 - (date.DayOfWeek == DayOfWeek.Sunday ? 7 : (int)date.DayOfWeek));

VB.NET:

date.AddDays(1 - IIf((date.DayOfWeek = DayOfWeek.Sunday), 7, date.DayOfWeek))

答案 1 :(得分:1)

Dim thisMonday As Date = Now.AddDays((Now.DayOfWeek - 1) * -1).Date

如果今天是星期日,则在下周一给出,否则给出本星期一的星期一。

答案 2 :(得分:1)

Return givenDate.AddDays(1 - CType(IIf((givenDate.DayOfWeek = DayOfWeek.Sunday), 7, givenDate.DayOfWeek), Double))

如果givenDate是星期日,请回到前一个星期一。包含CType以将IIf结果投射到Double以使用Option Strict On