首页 新闻 搜索 专区 学院

C#计算两个DateTime对象的周差

0
悬赏园豆:5 [已解决问题] 解决于 2013-02-04 10:48

我列出几种情况,帮大家理解我的问题。下面的变量都是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周。

谁能实现这样的需求啊。

c#
Jeffrey.Liang的主页 Jeffrey.Liang | 初学一级 | 园豆:43
提问于:2012-06-18 21:48
< >
分享
最佳答案
0

这个不难 。。但是你的分太少了。。亲 。。我详细点 你多给点 我也没分提问了。。

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 + "分钟";

对了你没判断大小记得取个绝对值

收获园豆:2
单音节 | 初学一级 |园豆:30 | 2012-06-25 11:33

我的问题是:C#计算两个DateTime对象的周差。你的答案似乎答非所问啊。

Jeffrey.Liang | 园豆:43 (初学一级) | 2012-07-08 08:51

@Jeffrey.Liang: 我真 你差多少天都知道了 。。。你除个7就是了。。。我真。。。

单音节 | 园豆:30 (初学一级) | 2012-07-13 10:57
其他回答(4)
0

两个时间相减,获得天数,然后除7就行了啊

收获园豆:2
artwl | 园豆:16526 (专家六级) | 2012-06-18 22:03
2

TimeSpan ts = date1 - date2;

int weeks = ts.TotalDays / 7;

 

时间差的计算C#--TimeSpan_快乐O(∩_∩)O哈哈~温暖的家_百度空间

收获园豆:1
无之无 | 园豆:5085 (大侠五级) | 2012-06-18 22:21
0

楼上正解!

MingHao_Hu | 园豆:8 (初学一级) | 2012-06-19 09:46

你们都没看我举的例子。例如,开始时间是上个周日,结束日期是下个周一,此时也算间隔一周了。简单的除以7是不行的。

支持(0) 反对(0) Jeffrey.Liang | 园豆:43 (初学一级) | 2012-06-19 20:58
0

(EndDate - StartDate.AddDays(1)).TotalDays / 7 = 

I,Robot | 园豆:9563 (大侠五级) | 2012-06-20 22:01
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册