2010-06-29 54 views
-2

使用C#& MySQL的日期进行比较的解决方案

表1

 
ID Date1 Date2 

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

到日期2的数据类型是VARCHAR,格式:MM/DD/YYYY

的日期始终与系统日期相比较,日期时即将到期,它会显示我这样的消息1周这样..

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

在那里有问题吗? – 2010-06-29 13:59:14

回答

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 

的减函数返回一个时间跨度。