日期比较解决方案

时间:2010-06-29 13:55:28

标签: c# sql mysql

使用C#& MySQL的

表1

ID Date1 Date2

001 04/05/2010 05/06/2010
002 04/06/2010 07/08/2010
....,

到Date2数据类型是Varchar,格式:mm / dd / yyyy

日期总是与系统日期进行比较,当日期即将到期时,它将显示i 1周的消息,如此...

7 days to expire
6 day to expire
5 day to expire
...
...
1 day to expire.

1 个答案:

答案 0 :(得分:4)

不要将字符串用于日期。这似乎是本地化问题的合理解决方案,但它总是比它的价值更麻烦。

也就是说,如果您已经做出决定,可以使用DateTime.Parse和IFormat提供程序来解析日期的具体实现:

DateTimeFormatInfo dtFormat = new DateTimeFormatInfo();
dtFormat.DateSeparator = "/";
dtFormat.TimeSeparator = ":";
dtFormat.ShortDatePattern = "MM/dd/yyyy";
dtFormat.ShortTimePattern = "HH:mm:ss";
return dtFormat;

一旦你有了日期(再次,如果没有解析/在代码中进行比较,从数据库中获取它会更容易)你可以用C#计算一个时间跨度:

DateTime.Now.Subtract(myDate).TotalDays

Subtract函数返回TimeSpan。