C# 使用linq查询的日期格式问题(介于之间)
我在linq中使用中间查询。场景是,我选择开始日期和结束日期,并希望检索这些日期之间的数据。在本地系统上工作正常,但当我将其部署到服务器上时,它引发了异常 字符串未被识别为有效的日期时间 需要以文本框格式输入的数据:04/01/2015 以数据库格式存储的数据:2013-10-23 12:35:56.593C# 使用linq查询的日期格式问题(介于之间),c#,asp.net,linq,linq-to-sql,datetime-format,C#,Asp.net,Linq,Linq To Sql,Datetime Format,我在linq中使用中间查询。场景是,我选择开始日期和结束日期,并希望检索这些日期之间的数据。在本地系统上工作正常,但当我将其部署到服务器上时,它引发了异常 字符串未被识别为有效的日期时间 需要以文本框格式输入的数据:04/01/2015 以数据库格式存储的数据:2013-10-23 12:35:56.593 protected void _btnSearch_Click(object sender, EventArgs e) { using (DataClassesCAB
protected void _btnSearch_Click(object sender, EventArgs e)
{
using (DataClassesCABEEDataContext db = new DataClassesCABEEDataContext())
{
var query = (from a in db.Jobs where
(a.Job_DateTime >= Convert.ToDateTime(_txtFrom.Text)
&& a.Job_DateTime <= Convert.ToDateTime(_txtTo.Text)) //using add watch here
select new
{
Reference = a.Job_No,
Booking_Time = a.Job_DateTime.Value.ToString("HH:mm", CultureInfo.CurrentCulture),
Cust_Name = a.CustName,
Price = a.Price,
});
GridView1.DataSource = query;
GridView1.DataBind();
}
}
protectedvoid\u btn搜索\u单击(对象发送方,事件参数e)
{
使用(DataClassesCABEEDataContext db=newdataclassescabeedataContext())
{
var query=(来自数据库中的作业,其中
(a.Job\u DateTime>=Convert.ToDateTime(\u txtFrom.Text)
&&a.Job_DateTime若你们知道日期的格式,你们应该使用DateTime.ParseExact
(a.Job\u DateTime>=DateTime.ParseExact(\u txtFrom.Text,“dd/MM/yyyy”,CultureInfo.InvariantCulture)
&&a.Job\u DateTime您的CurrentCulture
是什么?您确定您的DateTime
值是用正确的数据库类型存储的吗?希望您不要将它们存储为字符。“en-US”是CurrentCultureArea,您确定吗?转换为.ToDateTime(“04/01/2015”,CultureInfo.GetCultureInfo(“en-US”))
解析很好。@SonerGönül…数据以datetime格式存储在数据库中…在“GridView1.DataSource=query”之前;使用IMedate窗口查看linq生成的查询。使用“query.ToString()”错误:“ParseExact”方法没有重载需要2个参数。抱歉,我忘记了区域性。我猜您的日期格式是“dd/MM/yyyy”,而不是“MM/dd/yyyy”。
(a.Job_DateTime >= DateTime.ParseExact(_txtFrom.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture)
&& a.Job_DateTime <= DateTime.ParseExact(_txtTo.Text, "dd/MM/yyyy",CultureInfo.InvariantCulture)))