Google工作表的日期和时间格式错误 参考

问题描述

我将Tasker数据源导入到Google表格中,但是时间轴图不起作用。

不了解日期和时间的格式。

我的数据源的格式为dd-MM-YYYY HH.mm 例如: 16-10-2020 00.40

但是Google表格只能识别dd / MM / YYYY HH:mm:ss 16/10/2020 00:35:00

See here (在第二张图片上,我将日期修改为16/10/2020 00:35:00,并应用了日期和时间格式,因此它显示16-10-2020 00.35,除了使您困惑之外,它没有其他用途) / p>

我试图更改日期的格式,但是它唯一要做的是: 转换现有的16/10/2020 00:35:00格式 到16-10-2020 00.40

我要相反。

我对Google Devs很累,有点生气。我一直在搜索数小时,但我发现它非常疯狂,Google表格无法理解这种简单格式。

有什么想法吗?

谢谢

解决方法

请使用以下公式将值转换为日期

=ARRAYFORMULA(IF(A2:A5="",--REGEXREPLACE(REGEXREPLACE(A2:A5,"-","/"),".",":")))

根据您的语言环境,您可能必须将,更改为;

=ARRAYFORMULA(IF(A2:A5="";;--REGEXREPLACE(REGEXREPLACE(A2:A5;"-";"/");"\.";":")))

enter image description here

使用的功能:

,

已提供的解决方案的替代方案

Google表格公式

您可以使用以下公式将.替换为:,并将其向下拖动以便将其应用于所有单元格:

=REPLACE(A1,14,1,":")

这将导致一列带有您想要的日期格式的日期。

Google Apps脚本

您还可以利用Apps脚本直接在工作表中将所有.替换为:

// Copyright 2020 Google LLC.
// SPDX-License-Identifier: Apache-2.0

function toDate() {
  var ss = SpreadsheetApp.openById("SS_ID").getSheetByName("SHEET_NAME");
  var range = ss.getRange(1,NO_OF_ROWS,1);
  var values = range.getValues();
  for (let i=1; i<values.length; i++)
    ss.getRange(i,1).setValue(new Date(values[i-1][0].toString().replace(/\./g,":")));
}

上面的脚本还将值设置为 date 类型。

参考

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...