将日期时间转换为简单日期
本文关键字:日期 简单 时间 转换 | 更新日期: 2023-09-27 18:31:51
我在将字符串格式的变量(从窗体上的 DateTime 选择器控件)转换为简单日期时遇到问题。
我正在尝试转换,因为我收到以下错误消息:
INVALID_FIELD: 'AND c.Status__c = "已关闭" AND c.Close_Date__c> 2013-07-01T00:00:00Z' ^'错误在行:1:列:326'过滤器的值 字段"Close_Date__c"的标准必须是日期类型,并且应该 不括在引号中
我试过了:
sQry += " AND c.Close_Date__c > " + DateTime.ParseExact(filterFromDate, "d", CultureInfo.InvariantCulture) + " AND c.Close_Date__c < " + DateTime.ParseExact(filterFromDate, "d", CultureInfo.InvariantCulture);
但它不接受它(编译器无法识别CultureInfo
.
请问我哪里出错了?
更多信息:抱歉,我应该提到我们正在对引用 SalesForce 实例的 SalesForce 对象使用此查询
添加System.Globalization,然后...
var date = DateTime.ParseExact(filterFromDate, "dd", CultureInfo.InvariantCulture);
已更新...
那这个呢(我做了很多假设...哪里
string filterFromDate = "2013-07-01T00:00:00Z";
sQry += " AND c.Close_Date__c > " + DateTime.Parse(filterFromDate).Date.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'sszzzzz") + " AND c.Close_Date__c < " + DateTime.Parse(filterFromDate).Date.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'sszzzzz");
或者更好的 SqlParameters
string filterFromDateStr = "2013-07-01T00:00:00Z";
//Just the date since we don't want to use the Time
var filterFromDate = DateTime.Parse(filterFromDateStr ).Date;
sQry += " AND c.Close_Date__c > @filterFromDate AND c.Close_Date__c < @filterFromDate";
IDbCommand cmd = connection.CreateCommand();
cmd.CommandTimeout = connection.ConnectionTimeout;
cmd.CommandText = sQuery;
cmd.Parameters.Add(new SqlParameter("@filterFromDate ",filterFromDate ));
md.Connection = connection;
var reader = cmd.ExecuteReader();