0

У меня есть программа для окон, которая читает файлы txt и отображает их в текстовом поле, выход может быть «Test w/c 07/03/16 AT 21/04/2016 "или" AT 09/05/2016 "или" w/c 07/03/2016 AT 17/03/2016 w/c 25/04/2016 ". Я загружаю в него 7 текстовых файлов, некоторые содержат 1, 2 или 3 даты.Как проверить дату в текстовом поле C# и показать, установлена ​​ли дата до или позже DateTime.Now

Как бы определить эти даты и уметь выводить, были ли обнаружены даты до или после DateTime.Now?

+0

Преобразуйте свои строки в 'DateTime' и сравните их с' DateTime.Now' – EyeSeeSharp

ответ

1

Если строка всегда в "Test w/c dd/MM/yy AT dd/MM/yyyy" формате, вы можете Split вашу строку с пробелами, возьмите соответствующих строк, разобрать их DateTime с ParseExact и сравнить их с DateTime.Now значения.

var s = "Test w/c 07/03/16 AT 21/04/2016"; 
var arr = s.Split(' '); 
var firstDate = DateTime.ParseExact(arr[2], "dd/MM/yy", CultureInfo.InvariantCulture); 
var secondDate = DateTime.ParseExact(arr[4], "dd/MM/yyyy", CultureInfo.InvariantCulture); 

и вы можете сравнить их как;

if(firstDate < DateTime.Now) 
// before 
if(firstDate > DateTime.Now) 
//after 
if(secondDate < DateTime.Now) 
// before 
if(secondDate > DateTime.Now) 
//after 
if(firstDate < DateTime.Now && secondDate < DateTime.Now) 
//Both before 
if(firstDate > DateTime.Now && secondDate > DateTime.Now) 
//Both after 
etc.. 

 Смежные вопросы

  • Нет связанных вопросов^_^