我有两个领域:
string date1 = "04/26/10";
string date2 = "04/25/10";
Run Code Online (Sandbox Code Playgroud)
如何比较这两个字段?:
if (date2 <= date1)
{
// perform some code here
}
Run Code Online (Sandbox Code Playgroud)
这可以在没有先将字段转换为单独的日期类型变量的情况下完成吗?
编辑:我应该提到这些值来自数据库表,其中日期值以字符串格式开头.旧遗留代码......
jle*_*jle 41
不,但在C#中转换为日期并不困难.
if ( DateTime.Parse(date2) <= DateTime.Parse(date1))
{
// perform some code here
}
Run Code Online (Sandbox Code Playgroud)
Dan*_*Tao 13
如果您的日期作为字符串实际存储在数据库中,好像你不能相信他们会是有效的格式解析之前.出于这个原因,我建议jle的回答有一个小的变化:
DateTime d1, d2;
if (DateTime.TryParse(date1, out d1) &&
DateTime.TryParse(date2, out d2) &&
d2 <= d1)
{
// perform some code here
}
else
{
// strings didn't parse, but hey,
//at least you didn't throw an exception!
}
Run Code Online (Sandbox Code Playgroud)
至少你需要拆分字符串,以便按正确的顺序进行比较.
如果你想把它们保留为字符串,那么你需要用LARGEST-> SMALLEST单位重新排序它们,所以这个:
yyyy/mm/dd
Run Code Online (Sandbox Code Playgroud)
可以直接比较,但不是你的格式.使用您的格式,您需要将其拆分,然后像上面那样重新组合,或者按照正确的顺序比较各个部分.
话虽如此,使用DateTime.ParseExact将字符串转换为DateTime相当容易.
| 归档时间: |
|
| 查看次数: |
48999 次 |
| 最近记录: |