Hello, I'm trying to calculate a custom string from a date and time using the now() function. This gives my the local time, which is fine, kinda. What I need to know is the timezone of this local time, or the zulu time. I'm using the info found at:
It would be great if there was a %timezone or something that returned the UTC offset but there isn't. Is there any way to calculate this? I'm wondering if it could be calculated out of a decimal date or something, but I'm limited to what I can use as a calculation in Survey123.
My goal is to write a military date-time group, EXAMPLE: 091630Z JUL 11 represents 1630 UTC on 9 July 2011. There is more to my final formatting than that though, saving it as a date/time object won't help.
We do not currently have a property or parameter to return the UTC offset or timezone with a date/time question or in a string as part of a calculation. We have an open enhancement request to support UTC offset parameters and I have added your comments to the issue.
With 2.7, Survey123 has just introduced UTC offset recording:
The function pulldata("@property", 'utcoffset') can now be used to capture and record the UTC time zone offset of the device.
You will find the function at the bottom of the updated 'Date & Time' template. It presents the offset in decimal hours (most timezones are an even number of hours off of UTC) to facilitate the addition. True addition in Survey123 will be to add the offset value to the time recorded to create a 'fake' local time when downloading from AGOL.
James is there an example of this calculation somewhere? I know it should be pretty straightforward to apply the utcoffset to now() but I am confused as to formatting of these values.
I am using the XLS Form Type "start" and "end" to capture the date and time the form was opened and then submitted. The times recorded for start and end appear correctly in the survey's hosted feature service, but when printed to the a MS-Word report from the Survey123 webpage, the time is reported as 5 hours ahead (utcoffset).
I am using your information in an attempt to fix my offset time, but I don't understand your last comment "Do not forget to keep your UTC date as a string."
When I use the field types and calculations as shown, below, I get a 13 integer return.
What should my field types be in order to return a date and time in my time zone? What am I doing wrong?
The Survey123 Community and I appreciate your time and attention to our questions. Thank you!
I would suggest using the format-date() function to write out the time to a hidden/calculate question to store the date as a local string.
On the reporting of time 5 hours ahead, I can see this problem and have logged an issue to correct it.