【发布时间】:2013-04-16 10:51:33
【问题描述】:
我在 SQL Server 数据库中有一个字段类型 DateTime。 我正在开发一个网络服务来获取日期和时间。
日期以这种格式 4/14/2013 10:10:01 PM 存储在数据库中。
现在,我有一个如下的网络方法:
public string GetdataJson(string lastdate)
{
DateTime myDateTime = DateTime.Parse(lastdate);
string getvalue = "select * from tblfameface where last_updated >='" + myDateTime + "'";
con1 = new SqlConnection(conString1);
con1.Open();
SqlCommand cmd = new SqlCommand(getvalue, con1);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt1 = new DataTable();
da.Fill(dt1);
string jsonString = JsonConvert.SerializeObject(dt1);
String finalString = "{\"Records\":";
finalString += jsonString;
finalString += "}";
return finalString;
}
但是这段代码给了我一个错误,字符串未被识别为有效的日期时间。 如何将字符串转换为日期时间格式,如 4/14/2013 10:10:01 PM? 帮忙!
【问题讨论】:
-
您要发送到此网络方法的输入是什么?
-
我将于 2013 年 4 月 14 日晚上 10:10:01 经过
-
只是确认:您在哪一行得到异常?我认为可能是参数
lastdate中的意外输入 -
您有一个使用 24 小时制的文化变体 msdn.microsoft.com/en-us/library/ch92fbc1(v=vs.110).aspx "因为 DateTime.TryParse(String, DateTime) 方法尝试使用格式规则解析日期和时间的字符串表示形式当前文化,尝试跨不同文化解析特定字符串可能会失败或返回不同结果。如果将跨不同区域解析特定日期和时间格式,请使用 DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) 方法或TryParseExact 的重载之一.."