2016-07-21 5 views
2

Формат даты меняется в зависимости от культуры, когда я использую метод DateTime.ParseExact().Как сохранить формат даты после изменения языковой культуры?

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

var date = DateTime.ParseExact("21072016 10:12:20", 
           "ddMMyyyy HH:mm:ss", 
           new CultureInfo("en-US",false)); 

string ff = date.ToString("yyyyMMddHHmmss"); 

При изменении культуры в ar это преобразование даты, как в аравийском календаре (16101437) 10:12:20.

+0

См. Также http://stackoverflow.com/q/468791/447156? –

+0

«DateTime» просто хранит количество интервалов в 100 нс, которое произошло с полуночи в начале 1 января 0001 года. Оно не запоминает никаких * строковых или культурных настроек, которые могли быть использованы при его создании. –

+0

, но когда я использую код выше с культурой «ar», дата становится «16101437 10:12:20» (на основе арабского календаря) – Razack

ответ

1
CultureInfo cInfo = new CultureInfo("en-US"); 
Thread.CurrentThread.CurrentCulture = cInfo; 
Thread.CurrentThread.CurrentUICulture = cInfo; 
+0

добавьте этот код в свой метод Global.asax в Application_BeginRequest –

+0

, но мое приложение работает на основе на выбранном языке (арабский/английский). – Razack