我DateTime.UtcNow.ToLongTimeString()
用来获取当前时间字符串。
但是它的行为很奇怪,有时它会像返回时间一样3:10:00
,有时又像03:10:00
(前导零)。为什么会发生这种情况?
我在应用程序启动时设定了一种文化
Thread.CurrentThread.CurrentCulture = new CultureInfo(...);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(...);
时间字符串的不同结果来自一个任务(从我现在可以看到的)。所以我创建了一个任务并.Wait()
让它完成。在任务内部,时间以不同的方式转换为字符串。
更新
对于那些感兴趣的人,这是我发现的一些有用的阅读材料:
有没有办法为整个应用程序设置文化?所有当前线程和新线程?
http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.defaultthreadcurrentculture.aspx