以下行在salesforce中给我'FIELD_INTEGRITY_EXCEPTION'。请为我提供替代方案。
imr.Assigned_DTM__c = DateTime.valueOfGmt(('06/08/2013 06:30:22')。replaceAll('/',' - '));
答案 0 :(得分:5)
问题是您使用的格式不正确
System.debug(DateTime.valueOfGmt(('06/08/2013 06:30:22').replaceAll('/','-')));
System.debug(DateTime.valueOfGmt(('2013/08/06 06:30:22').replaceAll('/','-')));
控制台输出:
08:19:40:061 USER_DEBUG [3]|DEBUG|0012-02-03 06:30:22
08:19:40:061 USER_DEBUG [5]|DEBUG|2013-08-06 06:30:22
从调试中可以看出,第一个变量返回了不正确的日期时间值。
valueOfGmt 返回包含的日期时间 指定String的值。 String应使用标准日期 格林威治标准时间格式“yyyy-MM-dd HH:mm:ss”
使用datetime更正初始字符串。
<强>更新强>
String myDate = '06/08/2013 06:30:22';
String stringDate = myDate.substring(6,10) + '-' +
myDate.substring(3,5) + '-' +
myDate.substring(0,2) + ' ' +
myDate.substring(11,19);
DateTime dt = datetime.valueOf(stringDate);
System.debug(String.valueOfGmt(dt));
日志:
dt|"2013-08-06T03:30:22.000Z"