Хорошо, после небольшой детективной работы (ну, поиска) я думаю, что вы, вероятно, используете библиотеку SMPPClient
, и что ошибка происходит от этой строки .Он не пытается использовать это как строку формата - он только сообщает об этом (бесполезно, IMO) как ожидаемый формат строки.
Это на самом деле проверка с использованием этого регулярного выражения:
"^[0-9][0-9][0-1][0-9][0-3][0-9][0-2][0-9][0-5][0-9][0-5][0-9][0-9][0-4][0-9][\\+\\-R]$"
В спецификации SMPP v5 поясняется форматирование:
- 'YY' последние две цифры года (00-99)
- ММ месяц (01-12)
- ДД день (01-31)
- чч час (00-23)
- 'мм'минуты (00-59)
- ' сс 'секунды (00-59)
- ' t 'десятых секунды (0-9)
- ' nn 'Разница во временив четверть часа между местным временем (как указано в первых 13 октетах) и временем UTC (универсальная постоянная времени) (00-48).
- 'p':
«+» Местное время указано в четвертичасы продвинуты по отношению к времени UTC.
«-» Местное время указывается с задержкой в четверть часа по отношению к времени UTC.
Это не то, что я ожидал бы для обработки строки обычного формата в .NET.
Я бы предложил следующие шаги:
- Узнайте, какое значение он пытался проанализировать (это может быть сложно, я понимаю)
- Определите, откуда это значение (генерируется ли оно в другом месте кода, возможно, в вашем кодеили это данные, происходящие за пределами вашей системы?)
- Записать небольшую программу для просто , которая выполняет это регулярное выражение как на рабочей машине, так и на проблемной машине, чтобы выяснить, заключается ли проблема в том, чтоПоведение регулярных выражений изменилось, или проанализированные данные изменились
My догадываюсь , что некоторый код где-то использует обычное форматирование DateTime
для создания части этой строки, а затемнастраивая его для последней части ... и что в вашей новой системе есть некоторые языковые изменения, которые влияют на вещи.Например, даже если вы отформатируете с явным форматом, он все равно будет использовать календарную систему той культуры, которую он использует - если вы случайно форматируете в негригорианский календарь, это может определенно повлиять на ситуацию.(Общее исправление заключается в явном использовании CultureInfo.InvariantCulture
при форматировании машиночитаемой строки.)