DateTimeOffset.TryParseExact() с неанглийскими символами

Я основываю свой вопрос на этом ответ

string str = @"30-מאי-18 14:18:15 +03:00";
DateTimeOffset res;
CultureInfo culture = new CultureInfo("he-IL");
culture.DateTimeFormat.Calendar = new System.Globalization.HebrewCalendar();
if (DateTimeOffset.TryParseExact(str, 
    "dd-MM-yy HH:mm:ss", culture, DateTimeStyles.None, out res) )
     ///do stuff

Строка на иврите "מאי" означает "май" (это какой-то иврит, представляющий собой английские слова, которые были приняты на иврите или просто написаны еврейскими буквами).

Поэтому я думаю, что здесь HebrewCalendar() не имеет никакого эффекта, потому что согласно MSDN соответствует реальным месяцам на иврите

DateTimeOffset.TryParseExact() у меня не работает, я что-то пропустил?

Не работает с HebrewCalendar() или без него


person styx    schedule 30.05.2018    source источник
comment
Только для будущих читателей, не могли бы вы уточнить свой точный вопрос?   -  person TEK    schedule 30.05.2018
comment
@TEK Отредактировано, я надеюсь, что теперь вопрос ясен   -  person styx    schedule 30.05.2018
comment
@styx вы пытаетесь проанализировать строку, которая не соответствует шаблону. По крайней мере, вам нужно добавить в шаблон заполнители am/pm. Я думаю, что они tt. Разве это не месяц??? В любом случае вам нужно использовать шаблон, который соответствует значению. "30-מאי-18 14:18:15 +03:00" совсем не похож на "dd-MM-yy HH:mm:ss"   -  person Panagiotis Kanavos    schedule 30.05.2018
comment
Примечание: Exact. Вы должны точно соответствовать предоставленной строке формата.   -  person Llama    schedule 30.05.2018
comment
@PanagiotisKanavos, как я могу узнать, какой шаблон соответствует моей строке   -  person styx    schedule 30.05.2018
comment
@styx Я не могу вам сказать, потому что, когда я скопировал эту строку в Linqpad, она изменилась. Он даже меняется, когда я перемещаю в нем курсор. Я даже пытался использовать DateTimeOffset.Now.ToString("dd-MM-yy HH:mm:ss zzzz",culture) и снова получил что-то другое. Магия Unicode, но это означает, что я действительно не знаю, как выглядит строка. Я бы посоветовал вам попробовать различные комбинации в ToString(), пока вы не найдете ту, которая выглядит так же, как оригинал. Используйте это как формат в строке синтаксического анализа   -  person Panagiotis Kanavos    schedule 30.05.2018