有个小程序中用到要提起第几周,在网上找了一下,用了个最简单的方式:
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();