When I add the Special Component - Date Time Stamp for a form entry, is there a way to force it to use Universal Time, rather than Local Time? If multiple users from different time zones are using my app, the time stamps that their data entries generate can appear to be in the past or in the future from the perspective of the time zone my Sheet is set to.
I have the same thing.
Reverted to Google Action Script setting the current date. (or you can choose to store UTC).
Next āissueā is presenting the time back to the users in their local time. I havenāt come up with a clever way,ā¦ Since you have local time in the post, and UTC you can get the datediff in hours. So store that with the user profile,ā¦ now you have all the components.
Not sure how to show the user their calculated time.
This post may be useful.
Another useful post:
Thanks for the feedback. Iāll have to look into this Google Action Scriptā¦ what do you use to trigger? onEdit doesnt work with Glide, does it?
onChange will work with triggers from Glide, onEdit doesnāt.
What @ThinhDinh said
Script I use. Not the prettiest but functional.
var postSheetName = "Posts";
/**
* REMARKS
*/
function updatePostCurrentProfileChallengeID() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(postSheetName)
var startRow = 1; // First row of data to process
var numRows = sheet.getLastRow(); // Number of rows to process
var numColumn = sheet.getLastColumn();
// Fetch the range of
var dataRange = sheet.getRange(startRow, 1, numRows, numColumn);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var currentProfileChallengeID = row[11];
var ChallengeID = row[9];
if (ChallengeID == "") { // Prevents marking the ones already marked
sheet.getRange(startRow + i, 10).setValue(currentProfileChallengeID); // paste the value of currentProfileChallengeID in ChallengeID
if (currentProfileChallengeID!=""){ //only place a date if there actually is a current profile challenge id
sheet.getRange(startRow + i, 5).setValue(new Date()); // also set the proper date Created
}
SpreadsheetApp.flush(); // Make sure the cell is updated right away in case the script is interrupted
}
}
}
Thanks. I got something working now in my template, similar to this using an onChange trigger, But now the app isnāt duplicating. My first thought was having a script attached to the project was causing the duplication error?
Whatās the error you get?