有个小程序中用到要提起第几周,在网上找了一下,用了个最简单的方式:
string week = (Dt.DayOfYear/7 + 1).ToString
当天测试,得出的周数是对的啊。注:Dt是当天日期。
运行几天后,发现周一,周二,周三显示的是上一周。
仔细看了下,这样用还是太草率了。思考了半天,还是用最简单的方式:
把本年第一周的前几天加上去计算,这样就解决了,这样是不是也很简单?
week = ((Dt.DayOfYear + Convert.ToInt32(Convert.ToDateTime(Dt.ToString("yyyy") + "/01" + "/01").DayOfWeek) - 1) / 7 + 1).ToString();
博客讨论了在小程序中计算当前日期所属的周数时遇到的问题。最初使用 `(Dt.DayOfYear/7+1).ToString` 的简单方法导致周一到周三显示为上一周。作者提出了解决方案,即通过加上本年第一周的前几天进行计算,`week=((Dt.DayOfYear+Convert.ToInt32(Convert.ToDateTime(Dt.ToString(yyyy)+/01+/+01).DayOfWeek)-1)/7+1).ToString()`,确保了周数的准确性。

9184

被折叠的 条评论
为什么被折叠?



