[已解决问题] 关于日期的转换
提问时间: 2008-07-09 18:21
悬赏分:20 浏览:192 次

我有个日期的字符串“3-27”(月-日),我想把它跟c#里面DateTime类型比较,找出比这个字符串内的日期晚的日期,例如“2008-3-30”,就比“3-27”晚,我不需要管年只要比较月-日就行了。

我需要这样做因为我要找出有没迟交会费的用户。比如用户按季度交会费,每个用户都可能在不同月份需要交费,例如A规定每年在“3-27”交,B每年在“4-7”交等,在这种情况下如要找A有没迟交会费,我想用“3-27”这个字符串,去比较A的交费日期(如“2008-3-30”)来看他有没有过期,但如果我在“3-27”加个年份,那比较起来就不准了。因为所有比这日期早的都不算迟交了。

请问有人知道怎摩做吗?

所有回答(9)
DateTime有Day跟Month函数的,可以分别比较月份跟天的大小啊 先比较月份,月份相同再比较天,这样不就知道那个日期早,哪个日期晚了
1个月前   回答者:小No - 菜鸟二级
为什么不准了呢?你不是说会费是每年一交吗?那么2008-3-27确实相比2008-3-30没有过期啊。 感觉你的时间比较的逻辑有问题。
1个月前   回答者:Windie Chai(笑煞天) - 菜鸟二级
有关日期的很多
1个月前   回答者:林间曦阳 - 小虾三级
lz绕了半天的问题 ,都懒得再看一遍问题
1个月前   回答者:BeautyLogic - 菜鸟二级
逻辑有问题.....
1个月前   回答者:刘皇叔 - 初学一级
就是两个日期的比较 你可以根据条件都与比较的月和日前合适的加一个年份 这样比较就方便多了。至所以,你说加年不合适,我个人感觉你还是没有加正确的原因。
1个月前   回答者:金鱼 - 小虾三级
小No为正解 分别比较月份和天,就可以知道在之前或是之后了。
1个月前   回答者:风海迷沙 - 小虾三级
lz的逻辑有问题,其实直接比较日期(包括年)就可以了。 如果2009-1-30还没交会费,当然算迟交了
1个月前   回答者:麒麟.NET - 小虾三级
是不是要这样的: ---------------------------------------------- string d1 = "3-27";//本次交钱日期 DateTime d2 = new DateTime(2007,3,30); //上年交钱日期 DateTime dd = DateTime.Parse("2008"+d1);//这里的年2008可以随便写几,反正一会儿不比较它 if(d2.Month<dd.Month || d2.Month==dd.Month && d2.Day<dd.Day){ //迟交了,罚钱 }
1个月前   回答者:丁学 - 大侠五级
评论
   您需要登录以后才能回答!
 

我要提问

我的问题


快到期问题

> 问题排行榜

相关链接