悬赏分: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”加个年份,那比较起来就不准了。因为所有比这日期早的都不算迟交了。
请问有人知道怎摩做吗?
|
DateTime有Day跟Month函数的,可以分别比较月份跟天的大小啊
先比较月份,月份相同再比较天,这样不就知道那个日期早,哪个日期晚了 为什么不准了呢?你不是说会费是每年一交吗?那么2008-3-27确实相比2008-3-30没有过期啊。 感觉你的时间比较的逻辑有问题。 有关日期的很多 lz绕了半天的问题 ,都懒得再看一遍问题 逻辑有问题..... 就是两个日期的比较 你可以根据条件都与比较的月和日前合适的加一个年份 这样比较就方便多了。至所以,你说加年不合适,我个人感觉你还是没有加正确的原因。 小No为正解 分别比较月份和天,就可以知道在之前或是之后了。 lz的逻辑有问题,其实直接比较日期(包括年)就可以了。 如果2009-1-30还没交会费,当然算迟交了 是不是要这样的: ---------------------------------------------- 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){ //迟交了,罚钱 } |