DateTime在不同环境中的解析方式不同?

时间:2011-04-21 04:25:17

标签: c# asp.net iis

我将一些数据插入到SharePoint列表中(通过Web服务),在我的本地计算机上,我设置了这样的日期字段(在此示例中为硬编码)

<Field Name='TimeOnScene'>" + DateTime.Parse("13/12/2011 1:00").ToString("yyyy-MM-ddTHH:mm:ssZ") + "</Field>

它在我的本地机器上工作正常,但如果我将它发布到我们的网站主机并运行完全相同的代码我

{"Message":"String was not recognized as a valid DateTime.","StackTrace":"
//
//
 System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)\r\n   at System.DateTime.Parse(String s)\r\n   "ExceptionType":"System.FormatException"}

这怎么可能?

提前致谢。

编辑:

两周前我们也从主持人搬到了另一个地方,之前从未遇到过这个问题。

2 个答案:

答案 0 :(得分:2)

使用DateTime.ParseExact而不是Parse,转换将类似于以下代码。

CurDate = DateTime.ParseExact(YourDateString, "dd/MM/yyyy hh:mm", System.Globalization.CultureInfo.CurrentCulture, System.Globalization.DateTimeStyles.None)

答案 1 :(得分:0)

主机可以在机器上设置不同的本地。在文档中 The string s is parsed using formatting information in the current DateTimeFormatInfo object, which is supplied implicitly by the current thread culture.