Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Datetime转换为简单日期_C#_.net_Salesforce_Datetime Format_Date Conversion - Fatal编程技术网

C# 将Datetime转换为简单日期

C# 将Datetime转换为简单日期,c#,.net,salesforce,datetime-format,date-conversion,C#,.net,Salesforce,Datetime Format,Date Conversion,我无法将字符串格式的变量(从表单上的日期时间选择器控件)转换为简单日期 我正在尝试转换,因为我收到以下错误消息: 无效的\u字段:\n和c.Status\uuuu c='Closed'和c.Close\u Date\uuuu c> 2013-07-01T00:00:00Z\n^\n第1行:第326列出现错误\n筛选器的值 字段“关闭日期”的条件必须是日期类型,并且应 不能用引号括起来 我试过: sQry += " AND c.Close_Date__c > " + DateTime.Par

我无法将字符串格式的变量(从表单上的日期时间选择器控件)转换为简单日期

我正在尝试转换,因为我收到以下错误消息:

无效的\u字段:\n和c.Status\uuuu c='Closed'和c.Close\u Date\uuuu c> 2013-07-01T00:00:00Z\n^\n第1行:第326列出现错误\n筛选器的值 字段“关闭日期”的条件必须是日期类型,并且应 不能用引号括起来

我试过:

sQry += " AND c.Close_Date__c > " + DateTime.ParseExact(filterFromDate, "d", CultureInfo.InvariantCulture) + " AND c.Close_Date__c < " + DateTime.ParseExact(filterFromDate, "d", CultureInfo.InvariantCulture);
sQry+=”和c.Close\u Date\u c>“+DateTime.ParseExact(filterFromDate,“d”,CultureInfo.InvariantCulture)+”和c.Close\u Date\u c<”+DateTime.ParseExact(filterFromDate,“d”,CultureInfo.InvariantCulture);
但它不接受它(编译器不识别
CultureInfo

请问我哪里出错了

更多信息:
很抱歉,我应该提到,我们正在对引用SalesForce实例的SalesForce对象使用此查询。添加系统。全球化,然后

var date = DateTime.ParseExact(filterFromDate, "dd", CultureInfo.InvariantCulture);
更新

那么这个呢(我做了很多假设……) 在哪里

string filterFromDate=“2013-07-01T00:00:00Z”;
sQry+=“和c.Close_Date_c>”+DateTime.Parse(filterFromDate).Date.ToString(“yyyy'-'MM'-'dd'T'HH:'MM':'sszzzzz”)+“和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();
string filterFromDateStr=“2013-07-01T00:00:00Z”;
//只是日期,因为我们不想用时间
var filterFromDate=DateTime.Parse(filterFromDateStr.Date);
sQry+=“和c.Close\u Date\uu c>@filterFromDate和c.Close\u Date\uu c<@filterFromDate”;
IDbCommand cmd=connection.CreateCommand();
cmd.CommandTimeout=connection.ConnectionTimeout;
cmd.CommandText=sQuery;
Add(新的SqlParameter(“@filterFromDate”,filterFromDate));
md.连接=连接;
var reader=cmd.ExecuteReader();

您是否尝试过使用
.ToString(“yyyy-MM-dd”)
在您的日期时间上?您是否试图在SQL语句中使用它?如果是,您可能应该看一下。@Corak:我们正在查询SalesForce对象,因此它实际上不是SQL Server…我尝试了下面的答案,但现在得到一个错误,即变量filterFromDate即使其值为“2013-07-01T00:00:00Z”对于数据库,
date
datetime
是两个不同的东西。如果您正在使用的是某种实现,您可能需要指定to be。对于日期,它预期2013-07-01无时间部分。谢谢,但当我添加该代码时(
var onewFilterDate=datetime.ParseExact)(filterFromDate,“dd”,CultureInfo.InvariantCulture);)
我得到的错误字符串未被识别为有效的DateTime。我要转换为proepr date的变量的字符串值为“2013-07-01T00:00:00Z”,我得到的错误与我上面的命令相同,为什么“2013-07-01T00:00:00Z”中需要T和Z?如果你不写呢?当我尝试将filterFromDate设置为“2013年7月1日”的查询时我仍然得到字段“Close_Date____________c”的筛选条件值的错误
n必须是Date类型,并且不应包含在引号中
谢谢,但它不是SQL Server,我们正在查询的是SalesForce实例我知道我做了很多假设,它对这
sQry+=”和c.Close_Date__c>抛出了什么异常+DateTime.Parse(filterFromDate).Date+”和c.Close_Date_c<“+DateTime.Parse(filterFromDate).Date;
出于好奇,它给出了一个SalesForce错误,正如问题中所述,因此我一直在努力学习基本的c#和.NET知识,以发送一个日期格式而不是字符串。好的,我最后一次尝试…
sQry+=“和c.Close_Date_c>”+DateTime.Parse(filterFromDate).Date.ToString(“yyyy'-'MM'-'dd'T'HH':'MM':'sszzzzz”)+”和c.Close_Date_uuzc<“+DateTime.Parse(filterFromDate).Date.ToString(“yyyy'-'MM'-'dd'T'HH':'MM':'sszzzzz”);
希望它能工作。。。。
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();