diff --git a/APPL/Shared/xml_converter.inc b/APPL/Shared/xml_converter.inc index 9be8d3ddca..8d3026b961 100644 --- a/APPL/Shared/xml_converter.inc +++ b/APPL/Shared/xml_converter.inc @@ -339,7 +339,22 @@ function xmlToJson(xml) // Luie oplossing: Oracle kan dit simpeler dan JavaScript. function XMLtoJsDate(xmlDate) { - var sql = "SELECT TO_DATE(REPLACE("+safe.quoted_sql(xmlDate)+",'T',' '), 'YYYY-MM-DD HH24:MI:SS') FROM DUAL"; + if (xmlDate.length > 20) // with offset + { + var offset = xmlDate.slice(-6); + xmlDate = xmlDate.slice(0, -6); + var sql = "SELECT CAST ( " + + " FROM_TZ ( " + + " CAST ( " + + " TO_DATE (REPLACE ("+safe.quoted_sql(xmlDate)+", 'T', ' '), " + + " 'YYYY-MM-DD HH24:MI:SS') AS TIMESTAMP), " + + " "+safe.quoted_sql(offset)+") " + + " AT TIME ZONE "+safe.quoted_sql(S("fac_server_timezone"))+" AS DATE) " + + " AS newDate " + + " FROM DUAL"; + } + else + var sql = "SELECT TO_DATE(REPLACE("+safe.quoted_sql(xmlDate)+",'T',' '), 'YYYY-MM-DD HH24:MI:SS') FROM DUAL"; //var sql = "SELECT TO_CHAR (TRUNC (TO_DATE(REPLACE("+safe.quoted_sql(xmlDate)+",'T',' '), 'YYYY-MM-DD HH24:MI:SS'), 'HH') + (15 * ROUND (TO_CHAR (TRUNC (TO_DATE(REPLACE("+safe.quoted_sql(xmlDate)+",'T',' '), 'YYYY-MM-DD HH24:MI:SS'), 'MI'), 'MI') / 15)) / 1440, 'DD-MM-YYYY HH24:MI:SS') FROM DUAL"; var oRs = Oracle.Execute(sql); var dt = new Date(oRs(0).Value);