Javascript 将日期格式从年月日更改为年月日

Javascript 将日期格式从年月日更改为年月日,javascript,date,google-apps-script,Javascript,Date,Google Apps Script,我使用谷歌表单从用户那里收集日期,他们使用日期选择器。格式是美国的年月日(2016年1月25日),但我需要欧盟格式的年月日(2016年1月25日) 脚本收集了几个日期: var Date1 = e.values[24]; var Date2 = e.values[25]; var Date3 = e.values[26]; var Date4 = e.values[27]; var Date5 = e.values[28]; 如何将这些转换为EU日期格式 这就是iv'

我使用谷歌表单从用户那里收集日期,他们使用日期选择器。格式是美国的年月日(2016年1月25日),但我需要欧盟格式的年月日(2016年1月25日)

脚本收集了几个日期:

  var Date1 = e.values[24]; 
  var Date2 = e.values[25];
  var Date3 = e.values[26];
  var Date4 = e.values[27];  
  var Date5 = e.values[28];
如何将这些转换为EU日期格式

这就是iv'e迄今为止所做的尝试,但没有成功:

1)

错误:TypeError:无法调用未定义的方法“formatDate”

2)


错误:TypeError:在对象函数Date()中找不到函数parseExact{[Date.Date的本机代码,arity=1]}

您可以使用DateJS,如下所示:

在你的问题中,你需要:

Date.parseExact("dateyouneed" ,"dd/MM/yyyy")

您可以使用DateJS,如下所示:

在你的问题中,你需要:

Date.parseExact("dateyouneed" ,"dd/MM/yyyy")

如果您在Google电子表格中有日期,则可以使用Utilities.formatDate方法将日期转换为其他格式

function convertDate() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var source = sheet.getRange("A1").getValue();
  if (typeof source === "date") {
   sheet.getRange("B1").setValue(Utilities.formatDate(dt, "PST", "dd/mm/yy"));
  }
}
一个更简单的选择是在电子表格中选择整个列,然后在“格式”菜单下更改默认格式(请参见屏幕截图)


如果您在谷歌电子表格中有日期,可以使用Utilities.formatDate方法将日期转换为其他格式

function convertDate() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var source = sheet.getRange("A1").getValue();
  if (typeof source === "date") {
   sheet.getRange("B1").setValue(Utilities.formatDate(dt, "PST", "dd/mm/yy"));
  }
}
一个更简单的选择是在电子表格中选择整个列,然后在“格式”菜单下更改默认格式(请参见屏幕截图)


是的,但由于各种原因,脚本获取表单值,而不是电子表格中的值。正如您在我的示例“e.values[26];”=表单值。可以修改相同的函数:if(e.values[26]==“date”){return Utilities.formatDate(e[26],“PST”,“dd/mm/yy”);}尝试了这一点后,我在记录器中得到了“undefined”。是的,但脚本获取表单值,而不是电子表格中的值,原因有很多。正如您在我的示例中看到的“e.values[26];”=表单值。可以修改相同的函数:如果(e.values[26]==“date”){return Utilities.formatDate(e[26],“PST”,“dd/mm/yy”);}尝试了这个,我在日志中得到了“undefined”。我尝试使用这个函数myFunction(){var date=“1/25/2016”但没有成功;var newDate=Date.Utilities.formatDate(dt,“PST”,“dd/mm/yy”);Logger.log(newDate);}如果目的是重新格式化字符串,则根本不需要涉及日期对象(或解析器),请参见。我尝试使用此函数myFunction(){var Date=“1/25/2016”;var newDate=Date.Utilities.formatDate(dt),“PST”、“dd/mm/yy”);Logger.log(newDate);}如果目的是重新格式化字符串,则根本不需要涉及日期对象(或解析器),请参见。什么是“EU”格式?d/m/y使用非常广泛,不仅仅是在欧盟成员国。什么是“EU”“格式?d/m/y的使用非常广泛,不仅仅是在欧盟成员国。
function convertDate() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var source = sheet.getRange("A1").getValue();
  if (typeof source === "date") {
   sheet.getRange("B1").setValue(Utilities.formatDate(dt, "PST", "dd/mm/yy"));
  }
}