如何比较代表DateTime的字符串?

时间:2019-01-04 23:38:23

标签: c# sql-server datetime

我有两个包含datetime的字符串,我想检查第一个字符串datetime小于第二个字符串,如果已经尝试过string.compare怎么办?

2 个答案:

答案 0 :(得分:1)

问题可以分为两部分

  1. 将日期时间值从字符串解析为日期时间
  2. 比较两个日期时间值以了解哪个更大。

解析: 使用DateTime.Parse()方法解析日期时间

 string dateInput = "Jan 1, 2009";
 DateTime parsedDate = DateTime.Parse(dateInput);
 Console.WriteLine(parsedDate);
 // Displays the following output on a system whose culture is en-US:
 // 1/1/2009 12:00:00 AM

引用this以获得DateTime.Parse()。如果您知道字符串模式可以确认为指定的模式,则也可以使用DateTime.ParseExact()。

比较:使用DateTime.Compare()比较两个日期时间值。

将此link引用为Datetime.Compare()

所以实际的代码将变成这样:

using System;

public class Example
{
   public static void Main()
   {    
    string d1 = "Jan 1, 2009";
    string d2 = "Feb 2, 2008";
    DateTime date1 = DateTime.Parse(d1);
    DateTime date2 = DateTime.Parse(d2);
    int result = DateTime.Compare(date1, date2);
    string relationship;

    if (result < 0)
     relationship = "is earlier than";
    else if (result == 0)
     relationship = "is the same time as";
    else
     relationship = "is later than";

    Console.WriteLine("{0} {1} {2}", date1, relationship, date2);
   }
} 

答案 1 :(得分:0)

int result = date1.CompareTo(date2);

其中date1和date2必须是日期时间变量