エポックとして保存されている 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 スクリプト - エラー呼び出し関数 convert org.apache.bsf.BSFException: JavaScript エラー: java.text.ParseException: 解析不能な日付: "[object JavaObject]"