C# Salesforce日期时间问题

C# Salesforce日期时间问题,c#,.net,api,datetime,salesforce,C#,.net,Api,Datetime,Salesforce,我目前正在编写一个使用SalesforceAPI的c.Net应用程序。我正在发送带有日期时间字段的帐户对象 我的datetime对象的格式都是dd/MM/yyyy HH:MM:ss,这也是我执行简单查询时返回的日期字段的格式,选择名称,从帐户中选择日期,其中ID!=null-我在查询之前已在salesforce中的a测试帐户中手动设置了日期。我已经检查了所有与日期格式有关的内容,我确信我正在向salesforce发送正确的数据类型和日期时间格式 我的问题是Salesforce似乎将日期字段留空。

我目前正在编写一个使用SalesforceAPI的c.Net应用程序。我正在发送带有日期时间字段的帐户对象

我的datetime对象的格式都是dd/MM/yyyy HH:MM:ss,这也是我执行简单查询时返回的日期字段的格式,选择名称,从帐户中选择日期,其中ID!=null-我在查询之前已在salesforce中的a测试帐户中手动设置了日期。我已经检查了所有与日期格式有关的内容,我确信我正在向salesforce发送正确的数据类型和日期时间格式

我的问题是Salesforce似乎将日期字段留空。任何人都知道我可以确保Salesforce接受日期细节的方法

DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
dtfi.FullDateTimePattern = "dd/MM/yyyy HH:mm:ss";
dtfi.DateSeparator = "/";
string _TempRangeEndDate = "2013-08-31"
DateTime objDateRangeEnd = Convert.ToDateTime(_TempRangeEndDate,dtfi);
_TempAccount.Date_End__c = objDateRangeStart; //Salesforce not accepting converted format which is "31/08/2013 00:00:00"
我的datetime对象都是这种格式dd/MM/yyyy HH:MM:ss

不,他们不是。如果您谈论的是.NET日期时间值或数据库字段,则至少不会。这两种格式都不是隐式的——它们只是值

当你不需要的时候,你应该避免使用文本。所以,当您向SQL发送查询时,应该使用带有日期时间值的参数化SQL作为参数。。。根本不需要字符串转换


您说Salesforce不接受转换后的格式,即2013年8月31日00:00:00,但您只是指定了一个日期时间值。没有转换的格式。我认为您需要仔细查看整个数据流,并尽量减少字符串转换。在可能的情况下,坚持只使用DateTime。然后非常仔细地检查Salesforce的任何错误。问题很可能不是你想的那样。很难说,因为你还没有告诉我们Salesforce会给你什么样的错误。

如果你没有设置额外的特定标志,那么.NET SOAP堆栈不会发送日期时间和一些其他主要类型,如数字

_TempAccount.Date_End__c = DateTime.Now;
_TempAccount.Date_End__c_Specified = True;

如果不设置此标志,.NET Soap堆栈不会序列化该元素,并且它永远不会发送给salesforce。因此该字段仍然为空

Salesforce没有给我任何错误。我的应用程序没有从捕获返回任何错误。当我登录检查新创建的帐户时,Salesforce只是将帐户字段留空。我正在进行转换,因为我收集的数据来自一个数据库,该数据库将日期存储为yyyy MM dd,需要发送给saleforce,并将其保存到一个具有DateTime数据类型的帐户字段中。@user3214892:该数据库几乎肯定会以某种二进制格式存储日期,除非它确实是一个文本字段,这样会很糟糕。但我的答案的核心是DateTime值没有格式,所以这不是问题所在。您需要从其他地方了解Salesforce没有存储数据的原因——至少在您展示的代码中没有。您还没有提供足够的说明来帮助我们了解更多信息。Salesforce声称您的datetime需要与您在管理员帐户中看到的日期格式相同。我正在尝试从数据库发送记录列表,并将其作为salesforce帐户对象通过API发送给salesforce。account对象包含名称、地址等,这些字段填充时不会出现任何问题,都是字符串数据类型。我唯一的问题是,dateTime数据类型保留为空,即使它是以Salesforce API文档通过API建议的关于dateTime数据类型的正确格式保存的;Salesforce仍然将该字段留空。@user3214892:如果这是System.DateTime类型的属性,那么听起来似乎编写文档的人根本不理解该类型包含的内容。这本身就令人担忧。。。你应该和他们的支持团队联系。