Как сравнить строки, представляющие DateTime? - PullRequest
0 голосов
/ 05 января 2019

У меня есть две строки, которые содержат дату и время, я хочу проверить, если первая строка дата и время меньше второй, как это сделать, если уже попробовал string.compare, который не работает для меня

Ответы [ 2 ]

0 голосов
/ 05 января 2019
int result = date1.CompareTo(date2);

, в котором date1 и date2 должны быть переменными даты и времени

0 голосов
/ 05 января 2019

Проблема может быть разделена на 2 части

  1. Разбор значения datetime из строки в datetime
  2. Сравнение двух значений даты и времени, чтобы понять, какое из них больше.

Синтаксический : Используйте метод DateTime.Parse () для разбора datetime

 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

См. это для DateTime.Parse (). Вы также можете использовать DateTime.ParseExact (), если знаете, что строковый шаблон подтверждает указанный шаблон.

Сравнение : Используйте DateTime.Compare () для сравнения двух значений даты и времени.

Ссылка ссылка для 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);
   }
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...