我有一个问题是在将我们的应用程序代码库升级到.NET 4并在Windows2012上运行之后才发生的--这个问题在Windows2012或Windows2008的.NET 2 (3/3.5)中没有出现,在Windows2008的.NET 4中没有出现此问题
在整个代码库中,重复类似于此的语句。
var sDate = DateTime.Now.ToString("dd-MMM-yyyy");
var dDate = DateTime.Parse(sDate);
令人惊讶的是,这并没有像你所期望的那样产生很多问题,但是当代码被编译成运行在Windows2012上的.NET 4时,我们的中国客户已经不再工作了,他们在zh-CN文化下运行这个应用程序。DateTime.Now.ToString("dd-MMM-yyyy");
的输出值发生了变化,因此在2016年3月3日到2016年3月期间,将输出以下内容。
.NET 2.0 /Windows2008-10-三月-2016
.NET 4.0 /Windows2012- 10-3月-2016
解析10-3月-2016
将导致格式异常。解析10-三月-2016
仍然有效,在.NET 4和Windows2012中。
是否有一个简单的解决方案来纠正DateTime.ToString()的输出以输出10-三月-2016
而不是10-三月-2016
,谢谢?
发布于 2016-03-10 08:27:06
发布于 2016-03-10 06:43:40
DateTime dateVAlue=new DateTime();
CultureInfo culture = CultureInfo.CurrentCulture;
DateTimeStyles styles = DateTimeStyles.None;
DateTime.TryParse(datetimestring,culture, styles, out dateValue);
https://stackoverflow.com/questions/35909221
复制相似问题