Answered

are all timestamps on surveys UTC by default?

  • 4 January 2021
  • 9 replies
  • 2748 views

Userlevel 7
Badge +6

well why not be the first post in the community in the new year lol.. welcome back all.. 

just trying to ascertain if all survey inputs (into google sheet via integration for example) are in UTC (ie Submitted At field) - or is there some way in app to pre-establish time zone and pass that into the submitted at field. 

i am trying to find a way NOT to have to calculate the ‘local’ time - ie  a quick email to link to a survey to collect fitness activities at the end of the day, say at 10pm today as a reminder to me to record my activities, shows up in the google sheet as submitted at tomorrow morning 3am (I am in eastern time zone) .. in order to do a report/summary/dashboard of said activities, i have to calculate the actual date ie today.. 

 

if that is not making sense, blame it on not enough sleep over the holidays and finding out tonight that my daughter’s school is now virtual starting tomorrow for the next week or two, instead of onsite at the school and all the logistical headaches that come with having to cancel or rearrange 30 meetings this week lol.. 

icon

Best answer by Mariana 4 January 2021, 14:50

View original

9 replies

Badge +5

Your question makes total sense, Des. Let me do some digging and see what the typeform wizards think of this. 

Good luck with that virtual school experience and, above all, be patient!

Userlevel 7
Badge +5

Hey @john.desborough Happy New Year! 😊

Great question - in fact, all times are shown in the UTC time zone when you export your results, or use the Google Sheets integration. When you’re looking at your responses in the Results panel of Typeform, times shown are whatever is local to you (and your computer). 

There isn't any workaround for this, I'm afraid. You'd have to calculate the local time or check directly the time from the Results Panel. Sorry for any inconvenience this may cause.

I wish the best of luck with your daughter’s school! 

Userlevel 7
Badge +6

@Mariana - thanks. I figured as much - it will make a bigger challenge when respondents to surveys are in different timezones and you would like to have their ‘local time of completion/submission’ in the integration to G-sheets, for example. 

is there a way to capture the timestamp from the respondent’s computer in a hidden field and pass that along (that may be a stretch but not sure if that is part of the metadata available to the form/survey)?

 

thanks

 

des

Userlevel 7
Badge +5

Hey @john.desborough.

I am afraid that this isn't currently customizable. The only way to do this is to get the user to provide their timezone or location and manually work it out. 

As we have an international client base who also has international users we opted for standardization in the interests of removing complexity. I will flag your feedback to the developers though. 

Sorry I haven’t been able to help more in this case but I hope you’ll understand.

Userlevel 7
Badge +6

@Mariana - understandable and appreciated. and thanks for flagging the dev team. 

 

cheers

 

des

Great Question - I work out of India and response submitted are in a different timezone. Is there a way to edit this to suit the response submitted time to match the local timing?!

This is something that is needed, any updates from developers?

We´d love to have this option here in Brazil as well.

Userlevel 5
Badge +5

is there a way to capture the timestamp from the respondent’s computer in a hidden field and pass that along (that may be a stretch but not sure if that is part of the metadata available to the form/survey)?

 

In case you are still looking for a solution, here is small JS snippet that may help you to get the data and pass them to TypeForm in hidden fields using the embed API. Intl.DateTimeFormat() only works in modern browsers, while getTimezoneOffset supports older browsers. I put both in separated try catch to avoid causing errors that could block execution of TypeForm embed API if the browser does not support one of these functions.

 

var time_zone = ''
var utc_offset = ''
try {
time_zone = Intl.DateTimeFormat().resolvedOptions().timeZone;
} catch (e) {
time_zone = 'n/a'
}
try {
utc_offset = -(new Date).getTimezoneOffset()/60;
} catch (e) {
utc_offset = 'n/a'
}

 

Reply