作者bleed1979 (十三)
看板C_Sharp
标题Re: [问题] 日期相减取年月日
时间Sat Aug 30 00:55:57 2014
※ 引述《GoalBased (Artificail Intelligence)》之铭言:
: 想请问一下
: 有没有这一类的函示可以用
: ex
: 日期1 : 2014/08/29
: 日期2 : 2013/08/29
: 日期1 - 日期2 = 1年 0月 0日
: --------------------------------------
: 日期1 : 2014/08/29
: 日期2 : 2013/08/30
: 日期1 - 日期2 = 0年 11月 29日(日这边可能不太精准,但就是这个意思)
: 谢谢大家
你确定不用这种写法吗?
把闰年那些有的没的交给语言:
while(birthDate.Date.AddYears(1) <= endDate.Date)
{
birthDate = birthDate.Date.AddYears(1);
years += 1;
}
while (birthDate.Date.AddMonths(1) <= endDate.Date)
{
birthDate = birthDate.Date.AddMonths(1);
months += 1;
}
while (birthDate.Date.AddDays(1) <= endDate.Date)
{
birthDate = birthDate.Date.AddDays(1);
days += 1;
}
例外那些沿用原来的。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.135.203.156
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1409331359.A.F38.html
1F:推 GoalBased: 抱歉,不太清楚你第一句话是甚麽意思 08/30 03:26
2F:→ GoalBased: 另外我就是希望自己不用处理闰年那些问题 08/30 03:27
3F:→ GoalBased: 所以才会请教有没有这类的涵式可以使用的 08/30 03:27
4F:→ GoalBased: 还有稍微看了一下你的code和我给的连结范例 08/30 03:29
5F:→ GoalBased: 似乎不用while跑多次回圈来处理是比较好(?) 08/30 03:29
6F:→ GoalBased: 得做法吧(当下直觉),另外今天也请教了公司前辈 08/30 03:30
7F:→ GoalBased: 他也是类似我贴的那个范例写法,不过我还没 08/30 03:30
8F:→ GoalBased: 去仔细看逻辑就是了(这点非常抱歉) 08/30 03:31
9F:→ GoalBased: 假日後我会看得 谢谢你的回覆 08/30 03:31
10F:→ bleed1979: 第一句话意思在於程式可读性,正确性和效能的trade off 08/30 07:03
11F:→ bleed1979: 你的写法减完後又做调整,不加注解很难看出调整的规则 08/30 07:05
12F:→ bleed1979: 在效能上回圈并不会跑太多次,现今处理速度不会慢。 08/30 07:06
13F:→ bleed1979: 就正确性上来看,你的写法测试就不晓得要多少个测资。 08/30 07:08
14F:→ bleed1979: 才能保证是完全正确的,比如2/29和3/1还要想办法生成。 08/30 07:09
15F:推 GoalBased: 你说的我的些法是说我的连结还是范例呢 08/30 12:33
16F:→ bleed1979: 应该是指你提供的解答,就是连结那个。 08/30 14:48
17F:推 GoalBased: 好的,非常谢谢你,我会再研究一下的 08/30 15:44