【发布时间】:2014-05-02 03:14:01
【问题描述】:
我想从给定的 startdate 中获取最后一个星期六的日期。 例如:
开始日期 = #9/28/2013#
那么我想从该开始日期开始每年的最后一个星期六,它将是:
2014 年的星期六是:2014 年 9 月 27 日
每年都会更新,下一个又是:
2015 年的星期六是:2015 年 9 月 26 日
接下来又是:
2016 年的星期六是:2016 年 9 月 24 日
它像通常的日期一样运行,但开始不是 1/1/[年] 而是 [星期六的日期]/9/年... 我将接受 vb 或 c# 中的逻辑... 这是我在 vb.net 中的代码:
将 DstartDate 调暗为日期
开始日期 = #9/28/2013#
tnextyear = DstartDate.AddYears(1)
tyear = tnextyear.Year
tmonth = tnextyear.Month
tdate = tnextyear.Day
tday = tnextyear.DayOfWeek.ToString()
Dim ttdate As Date
If (tday <> "Saturday") Then
ttdate = tnextyear.AddDays(-1)
tday = ttdate.DayOfWeek.ToString()
If tday <> "Saturday" Then
ttdate = tnextyear.AddDays(-2)
tday = ttdate.DayOfWeek.ToString()
End If
End If
tday = ttdate.DayOfWeek.ToString()
tyear += 1
lbltestYear.Text = tday & tyear
它不执行 if 条件....标签显示“如果”之前的 tday...在该代码中,如果不是“星期六”,我将条件减去日期,因为每年日期将减少一个到星期六,每 4 年减少 2...我还没有设置每 4 年的条件,因为我只是想看看该代码的输出如何...
在此先感谢...之前很抱歉,,,,
【问题讨论】:
-
“我将接受 vb 或 c# 中的解决方案” - 我们也将接受。向我们展示你的努力。
-
哎呀...抱歉我忘记添加我的代码...我会编辑它...
-
大多数日期库应该为你处理这个问题。
-
@shree.pat18 对不起,我真的忘记放代码了...我已经编辑过了...谢谢提醒...
-
@rots 很抱歉,,,我已经编辑过了...