JS for current timestamp in W3C WSDL date format -YYYY-MM-DDThh:mm:ssTZD

Is there a way to get current timestamp in W3C WSDL date format -> YYYY-MM-DDThh:mm:ssTZD

in Apigee Edge using java script without any 3rd party package installation?

Eg:

2013-06-09T14:04:54-08:00

Any one got it worked?

-Vinay

Solved Solved
0 2 2,561
1 ACCEPTED SOLUTION

@vinay poreddy ,

Please find javascript code to generate above format with TZD (Time Zone Descriptor) using javascript getTimezoneOffset.

Find attached proxy code for reference,

var currDate = new Date();
var dateTimeIsoString = currDate.toISOString();
// split by dot
var currDateTime = dateTimeIsoString.split('.')[0];
var timeZoneOffset = currDate.getTimezoneOffset();
var positiveOffset = Math.abs(timeZoneOffset)
var timeOffsetInHours = -(timeZoneOffset/60)
var minZone = (positiveOffset - Math.floor(timeOffsetInHours) * 60)
var symbolOffset = timeZoneOffset > 0 ? '-' : '+' ;
var hourOffset = Math.floor(timeOffsetInHours) < 10 ? 0 : '';
var minOffset = minZone < 10 ? 0 : '';
var tzd = symbolOffset + hourOffset + Math.floor(timeOffsetInHours) + ":" + minOffset + minZone
var dateTZDformat = currDateTime + tzd;
print(dateTZDformat)


2242-screen-shot-2016-03-25-at-120216-pm.png

jscurrenttimestamp-rev1-2016-03-25.zip

View solution in original post

2 REPLIES 2

how to use momentjs with in apigee?Do I need to add the momentjs script and include?

How does it work?

@vinay poreddy ,

Please find javascript code to generate above format with TZD (Time Zone Descriptor) using javascript getTimezoneOffset.

Find attached proxy code for reference,

var currDate = new Date();
var dateTimeIsoString = currDate.toISOString();
// split by dot
var currDateTime = dateTimeIsoString.split('.')[0];
var timeZoneOffset = currDate.getTimezoneOffset();
var positiveOffset = Math.abs(timeZoneOffset)
var timeOffsetInHours = -(timeZoneOffset/60)
var minZone = (positiveOffset - Math.floor(timeOffsetInHours) * 60)
var symbolOffset = timeZoneOffset > 0 ? '-' : '+' ;
var hourOffset = Math.floor(timeOffsetInHours) < 10 ? 0 : '';
var minOffset = minZone < 10 ? 0 : '';
var tzd = symbolOffset + hourOffset + Math.floor(timeOffsetInHours) + ":" + minOffset + minZone
var dateTZDformat = currDateTime + tzd;
print(dateTZDformat)


2242-screen-shot-2016-03-25-at-120216-pm.png

jscurrenttimestamp-rev1-2016-03-25.zip