Search code examples
datetimegoogle-apps-scriptgoogle-sheetstriggersgoogle-forms

How to change date format in Google Forms Response?


I have a Google Forms to get my delivery order from customer and on the forms I have Date field. The response of the forms will be filled automatically to order document per response. I use this scripts:

function autoFill(e) {
  var timestamp = e.values[0];
  var nama = e.values[1];
  var tglBuat = e.values[10];

  var file = DriveApp.getFileById(MY_TEMPLATE_FILE_ID); 
  var folder = DriveApp.getFolderById(OUTPUT_FOLDER_ID);

  var copy = file.makeCopy(nama+"_"+timestamp, folder); 
  var doc = DocumentApp.openById(copy.getId());
  var body = doc.getBody(); 

  body.replaceText('#NamaLengkap#', tglBuat);      
  body.replaceText('#TanggalDibuat#', tglBuat);

  doc.saveAndClose(); 
}

The flow is simple like this:

  1. I prepared Template file for the Order Document paper
  2. Customer will fill the forms
  3. Form result will be kept in certain Google Spreadsheet
  4. The script above on the (3), will be triggered everytime (2) submitted
  5. Voila, I have Order Document filled with customer order details

My template file are something like this:

Customer Name: #NamaLengkap#
Order Date: #TanggalDibuat#

My problem is here in date format, I want the output on my template file using this format "26 August 2020", but the google form only give this format "08/26/2020".

How do I changes it?

I read some article about changing the email format before filling the form, but i don't think this is good solution. Because customer wont care at all.


Solution

  • You just need to take your date and convert it to a Date String JavaScript object as shown below:

    function myFunction() {
      var shortDate =  new Date("03/25/2015");
      var longDateFormat = shortDate.toDateString();
      Logger.log(longDateFormat);
    }