1
我有一个asp.net mvc应用程序。它是多语言的,并在cookie中写入一些值。如果应用程序的currentCulture(语言)和存储在Cookie中的DateTime的值具有不同的格式,则会出现问题。因此,我决定只在英文文化中存储和检索DateTime值。但我遇到了麻烦。在切换文化之间保存DateTime.Now
var currentCulture = Thread.CurrentThread.CurrentCulture; //for example, ru-RU
var currentUICulture = Thread.CurrentThread.CurrentUICulture;
var englishCulture = CultureInfo.GetCultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = englishCulture;
Thread.CurrentThread.CurrentUICulture = englishCulture;
var dateTime = DateTime.Now; // 10/22/2011 9:56:15 AM (in English)
Thread.CurrentThread.CurrentCulture = currentCulture;
Thread.CurrentThread.CurrentUICulture = currentUICulture;
return dateTime; // 22.10.2011 9:56:15 (in Russian). But why?
我想返回英文文化中的DateTime.Now。
为什么本地变量“dateTime”的值已更改? – Alexandre
呃..什么?它*没有改变 - 它只是格式不同。你的意思是“为什么日期的字符串表示会改变?”这是因为当你的调试器调用ToString时,该方法使用当前的文化,并且你改变了它。 –
如果当前的文化不是en-US,是否可以在en-US文化中返回DateTime结构体(不是字符串)? – Alexandre