2011-04-21 59 views
0

我插入一些数据到SharePoint列表(通过Web服务)和我的本地机器上我设置这样一个日期字段(在这个例子中硬编码)在不同的环境中以不同的方式解析DateTime?

<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"} 

这怎么可能?

在此先感谢。

编辑:

我们也从主机转移到另外两个星期前,从来没有过这个问题。

+0

你有没有检查过你在web主机上得到DateTime的字符串...... – 2011-04-21 04:27:36

+0

对不起,我该怎么做? – Nick 2011-04-21 04:28:54

+0

我的猜测是这个字符串与你所期待的不同。 – 2011-04-21 04:36:26

回答

2

使用DateTime.ParseExact而不是Parse,转换将如下面的代码。

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

@尼克,这个代码不能满足你吗? – 2011-04-21 04:44:18

0

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

相关问题