salesforce SOQL可以';无法在本地时间中获取日期时间
我的目标是基于本地时间的简单日期范围查询来统计潜在客户记录salesforce SOQL可以';无法在本地时间中获取日期时间,salesforce,apex,soql,Salesforce,Apex,Soql,我的目标是基于本地时间的简单日期范围查询来统计潜在客户记录 Integer TotalLeads = [ Select Count() From Lead where createddate >= fromdate CreatedDate <= todate]; // Date date ds = date.valueof('2017-03-23'); string dm = string.valueOf( ds.month())
Integer TotalLeads = [ Select Count() From Lead where createddate >= fromdate CreatedDate <= todate];
// Date
date ds = date.valueof('2017-03-23');
string dm = string.valueOf( ds.month());
string dd = string.valueOf(ds.day());
string dy = string.valueOf(ds.year());
// DateTime Midnight (UTC)
String SDate = string.valueof(dm +'/' + dd + '/' + dy + ' 12:00 AM');
system.debug(SDate); // -> 3/23/2017 12:00 AM
// DateTime (Local Time)
datetime ds2 = datetime.parse(SDate );
system.debug(ds2); // -> 2017-03-23 07:00:00
system.debug(ds2.format('yyyy-MM-dd\'T\'hh:mm:ss'')); // -> 2017-03-23T12:00:00
如您所见,使用ds2.format将其设置为我需要的格式,但返回UTC(午夜),我需要它为2017-03-23T07:00:00
有什么建议吗
谢谢 知道我做错了什么。日期计算很好,这与如何将其传递给批处理作业有关。知道我做错了什么。日期计算很好,它与如何将其传递给批处理作业有关。
// Date
date ds = date.valueof('2017-03-23');
string dm = string.valueOf( ds.month());
string dd = string.valueOf(ds.day());
string dy = string.valueOf(ds.year());
// DateTime Midnight (UTC)
String SDate = string.valueof(dm +'/' + dd + '/' + dy + ' 12:00 AM');
system.debug(SDate); // -> 3/23/2017 12:00 AM
// DateTime (Local Time)
datetime ds2 = datetime.parse(SDate );
system.debug(ds2); // -> 2017-03-23 07:00:00
system.debug(ds2.format('yyyy-MM-dd\'T\'hh:mm:ss'')); // -> 2017-03-23T12:00:00