FCLT#52345 XMLtoJsDate() ondersteund nu ook XML Strings met time-offset

svn path=/Website/trunk/; revision=37173
This commit is contained in:
2018-02-23 16:17:32 +00:00
parent 3e473ceb4e
commit fcadf9d6f7

View File

@@ -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);