我正在尝试将作为纪元存储的 GMT 时间转换为 CST。
下面是我在java中运行的当前代码。
if (originalRFC.get("sysmodtime")!=null){
var sysmod = originalRFC.get("sysmodtime"); // Hold the sysmodtime value in a variable
logger.debug('Sysmodtime Before: ' + sysmod); // Output to log before before converstion to CST - (in GMT)
var format = new java.text.SimpleDateFormat("MMMM d, yyyy HH:mm:ss a z"); // Format the string will be in
var dateString = sysmod.toLocaleString(); // Convert the epoch to the string equivalent in CST
var parsedDate = format.parse(dateString); // Convert that CST String back to epoch
var sysmodConvert = parsedDate.getTime(); // Convert it to time and milliseconds
logger.debug('Sysmodtime After: ' + sysmodConvert); //Output to log after conversion to CST
genericRFC.setField("last-update-time",sysmodConvert);
}
查看日志中返回的以下错误,我们可以看到“1301382996000”之前的时间,当我尝试转换时它会中断:
2011-05-02 14:25:49,926 [http-8080-1] sm702-adapter_convert 脚本 - Sysmodtime 之前:1301382996000 2011-05-02 14:25:49,941 [http-8080-1] sm702-adapter_convert 脚本 - 错误时调用函数转换 org.apache.bsf.BSFException:JavaScript 错误:java.text.ParseException:无法解析的日期:“[object JavaObject]”