将dateformat从mm / dd / yy更改为dd / mm / yy

时间:2016-11-24 11:24:19

标签: javascript date google-apps-script

我正在使用Google表单来收集用户的日期,他们使用日期选择器。格式为美国,mm / dd / yy(2016年1月25日),但我需要欧盟格式dd / mm / yy(2016年1月25日)。

脚本收集ser猫日期:

  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];

我如何将这些转换为欧盟日期格式?

这是iv'e到目前为止没有成功的尝试:

1)

  function myFunction() {
      var preDate = "1/25/2016";
      var postDate = preDate.Utilities.formatDate(dt, "PST", "dd/mm/yy");
      Logger.log(postDate);
    }

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

2)

function myFunction() {
  var preDate = "1/25/2016"; 
  var postDate = Date.parseExact(preDate ,"dd/MM/yyyy")
  Logger.log(postDate);
}

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

中找不到函数parseExact

2 个答案:

答案 0 :(得分:2)

如果您在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"));
  }
}

更简单的选择是您选择电子表格中的整个列并更改格式菜单下的默认格式(请参见屏幕截图)。

Change Date Format in Spreadsheet

答案 1 :(得分:1)

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

http://code.google.com/p/datejs/wiki/APIDocumentation#parseExact

Date.parseExact("10/15/2004", "M/d/yyyy");  // The Date of 15-Oct-2004
Date.parse("15-Oct-2004", "d-MMM-yyyy");    // The Date of 15-Oct-2004
Date.parse("2004.10.15", "yyyy.MM.dd");     // The Date of 15-Oct-2004
Date.parseExact("10/15/2004", ["M/d/yyyy", "MMMM d, yyyy"]); // The Date of 15-Oct-2004

在你的问题中你需要:

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