【问题标题】:Change dateformat from mm/dd/yy to dd/mm/yy将日期格式从 mm/dd/yy 更改为 dd/mm/yy
【发布时间】:2016-11-24 11:24:18
【问题描述】:

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

脚本收集薮日期:

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

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

这是我迄今为止尝试过的但没有成功:

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() { [Native code for Date.Date, arity=1] 中找不到函数 parseExact }

【问题讨论】:

  • 什么是“欧盟”格式? d/m/y 的使用非常广泛,不仅在欧盟成员国。

标签: javascript date google-apps-script


【解决方案1】:

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

一个更简单的选择是您选择电子表格中的整个列,然后在“格式”菜单下更改默认格式(参见屏幕截图)。

【讨论】:

  • 是的,但是由于各种原因,脚本会获取表单值,而不是电子表格中的值。正如您在我的示例“e.values[26];”中看到的那样= 表单值。
  • 同样的函数可以修改: if (typeof e.values[26] === "date") { return Utilities.formatDate(e[26], "PST", "dd/mm /yy")); }
  • 试过了,我在记录器中得到“未定义”。
【解决方案2】:

你可以使用 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")

【讨论】:

  • 我正在尝试这个但没有成功 function myFunction() { var Date = "1/25/2016"; var newDate = Date.Utilities.formatDate(dt, "PST", "dd/mm/yy");记录器.log(newDate); }
  • 如果打算重新格式化字符串,则根本不需要 Date 对象(或解析器),请参阅Javascript format date from string to Date format
猜你喜欢
  • 2022-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
相关资源
最近更新 更多