繁体   English   中英

从电子表格中错误的日期提取

[英]Wrong date extraction from Spreadsheet

我想从电子表格中提取日期格式为“ DD dd / mm / yyyy hh:mm:ss”的日期,并将其放入另一个电子表格中,然后在日历中创建一个事件,问题是当提取它时时区与原始电子表格中的时区不同,并且随不同的文档而变化。 Utilities.formatDate()命令对我不起作用,因为它出现在正确的时区中。

单元格值:星期一。 02/04/2018 12:00:00

原始电子表格时区:GMT -800

新的电子表格时区:GMT -800

function Event(){
  var firstdoc =SpreadsheetApp.openById("ID"); // ouvre le fichier manifest list
  var firstdocsheet = firstdoc.getSheetByName("sheet");
  var date1= new Date(firstdocsheet.getRange(4,10).getValue());
  Logger.log(date1); 
  date1 = Utilities.formatDate(date1, "GMT-800", "dd-MM-yyyy HH:mm:ss");
  Logger.log(date1);   
}

这是我得到的:

Logger.log([2018年4月2日星期一21:00:00 GMT + 02:00 2018)

Logger.log([02-04-2018 11:00:00)

我知道该代码有效,但自开始以来我不明白为什么它使用错误的日期,请帮忙吗?

使用以下示例验证您的代码:

function test() {
  var date = new Date('03/08/2018 09:51:00');
  Logger.log(date)
  Logger.log(Utilities.formatDate(date, "GMT-08:00", "dd-MM-yyyy HH:mm:ss"));
}

日志输出:

[18-03-08 12:31:31:518 CET] Thu Mar 08 09:51:00 GMT+01:00 2018
[18-03-08 12:31:31:520 CET] 08-03-2018 00:51:00

您使用的机制似乎是正确的,因此问题出在您的单元格值或注释中指出的时区。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM