Как найти правильный пользовательский формат для строки даты и времени - PullRequest
0 голосов
/ 27 февраля 2019

Я читаю строки даты и времени из файла в 2 различных форматах:

  1. 19/02/2019 08:24:59
  2. 2/17/2019 12:25:46 PM

Для формата first строка пользовательского формата, которую я написал, выглядит следующим образом:

string firstDate = "19/02/2019 08:24:59";
string customFormatForFirstDateTimeString = "dd/mm/yyyy hh:mm:ss";

, и я использую ее следующим образом:

string firstResultingDateAndTime;

bool parsingSuccessful = DateTime.TryParseExact(
  firstDate, 
  customFormatForFirstDateTimeString, 
  System.Globalization.CultureInfo.InvariantCulture, 
  System.Globalization.DateTimeStyles.None, 
  out firstResultingDateAndTime);

Проблема заключается в том, чтоparsingSuccessful результаты false.Для секундной строки даты и времени код выглядит следующим образом:

string secondDate = "2/17/2019 12:25:46 PM";
string customFormatForSecondDateTimeString = "m/dd/yyy hh:mm:ss PM";
string secondResultingDateAndTime;

parsingSuccessful = DateTime.TryParseExact(
  secondDate, 
  customFormatForSecondDateTimeString, 
  System.Globalization.CultureInfo.InvariantCulture, 
  System.Globalization.DateTimeStyles.None, 
  out secondResultingDateAndTime);

Также здесь я получаю

parsingSuccessful == false;

Я считаю, что строки пользовательского формата делаютне подходит для строки даты и времени, но я не смог выяснить, почему .Пожалуйста помоги.Заранее спасибо.

1 Ответ

0 голосов
/ 27 февраля 2019

Ну, mm означает минут , а не месяцев (у нас есть MM для этого), поэтому формат dd/mm/yyyy должен быть dd/MM/yyyy.Другая проблема с форматом час , где у нас есть hh для диапазона 0..12tt для AM/PM) и HH для интервала 0..23:

 string firstDate = "19/02/2019 08:24:59";
 // Since we don't have AM / PM we can conclude that hour is in 0..23 range 
 string customFormatForFirstDateTimeString = "dd/MM/yyyy HH:mm:ss";

 string secondDate = "2/17/2019 12:25:46 PM";
 string customFormatForSecondDateTimeString = "M/dd/yyyy hh:mm:ss tt";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...