我列出几种情况,帮大家理解我的问题。下面的变量都是DateTime类型。
第一种:变量StartDate是2012-6-18 16:00:00,变量EndDate是2012-6-24 16:00:00,那么两者的周差应该是0周。
第二种:变量StartDate是2012-6-18 16:00:00,变量EndDate是2012-6-26 16:00:00,那么两者的周差应该是1周。
第三种:变量StartDate是2012-6-18 16:00:00,变量EndDate是2012-7-3 16:00:00,那么两者的周差应该是2周。
谁能实现这样的需求啊。
这个不难 。。但是你的分太少了。。亲 。。我详细点 你多给点 我也没分提问了。。
1.首先你要判断下时间大小,如果相减为负数,逻辑上一般是时间过期(如果只为求查就直接看第二步,弄个绝对值就好了)
如果简单的比较大小,这样就可以了 DateTime.Compare(t1, t2) > 0
DateTime.Compare(t1,t2),方法获取一个数字,果之小于0,则t1<t2,大于0,则t1>t2, 等于0,则t1=t2
2.判断2个时间大小
1 //好吧这个够直接 2 TimeSpan ts = zhaotoubiao.z_zdate - DateTime.Now; 3 //分别取得值 4 string day = ts.Days.ToString(); 5 string hour = ts.Hours.ToString(); 6 string minutes = ts.Minutes.ToString(); 7 string seconds = ts.Seconds.ToString(); 8 this.ztime.Text = day + "天" + hour + "小时" + minutes + "分钟";
对了你没判断大小记得取个绝对值
我的问题是:C#计算两个DateTime对象的周差。你的答案似乎答非所问啊。
@Jeffrey.Liang: 我真 你差多少天都知道了 。。。你除个7就是了。。。我真。。。
两个时间相减,获得天数,然后除7就行了啊
楼上正解!
你们都没看我举的例子。例如,开始时间是上个周日,结束日期是下个周一,此时也算间隔一周了。简单的除以7是不行的。
(EndDate - StartDate.AddDays(1)).TotalDays / 7 =