Рассмотрим следующую строку ...DateTime.ParseExact AM/индикатор PM в нижнем регистре
var myString = "11/05/2015 01:04:16 p.m."
Могу ли я выполнить DateTime.ParseExact на эту строку, не заставляя строку в верхний регистр? Индикатор am/pm дает мне печаль и не анализирует, потому что это строчный регистр. У меня есть статический класс с константами для строк формата. Есть ли маркер формата для указания строчного индикатора am/pm?
Формат Строки
namespace myProgram
{
public static class MyFormatStrings
{
public const string MyDateTimeFormat = "dd/MM/yyyy hh:mm:ss t\\.\\M\\.";
}
}
логики для анализа
namespace myProgram
{
public static class MyProgram
{
public void MyMethod()
{
var myStringDateValue = "11/05/2015 01:04:16 p.m.";
var result = DateTime.ParseExact(myStringDateValue, MyFormatStrings.MyDateTimeFormat, CultureInfo.InvariantCulture);
}
}
}
Может быть, потому, что первая и вторая половина как правило, не первая и вторая половина ? Попробуйте просто заменить п.м. и a.m. с am или pm (или просто удалить все .s во входной строке). –
@Ron - Я ограничен вводом. Я должен принять строку в формате, показанном выше. Хотите сохранить его простым с помощью строки формата и не манипулировать исходной входной строкой. – barrypicker
Вы не могли бы сделать что-то вроде (DateTime.ParseExact (myStringDateValue.Replace (".", ""), ...)? Я не уверен, что строки формата даты и времени могут указывать в строке, см. https://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx#ttSpecifier –