如何在 Google 表格中将日期转换为字符串

Posted

技术标签:

【中文标题】如何在 Google 表格中将日期转换为字符串【英文标题】:How to convert a date to a string in Google Sheet 【发布时间】:2017-04-12 22:27:06 【问题描述】:

我正在尝试弄清楚如何将日期转换为谷歌表格中的字符串。

我有一个具有不同格式的日期字段。我想创建另一个与文本完全相同但作为文本的列。例如,如果我有以下数据

date       date_as_string
12-05-2016 '12-05-2016
12/5/2016  '12/5/2016
2016-12-10 '2016-12-10

这里的 ' 只是表示它是一个字符串,注意一个日期。

【问题讨论】:

如果您的问题已得到解答,请将已回答的问题之一标记为已接受。 【参考方案1】:

无法检测谷歌表格中的日期格式。但是您可以使用getDisplayValues 属性。将此代码粘贴到脚本编辑器中:

function repeatAsText(A1Notation, sheet) 
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  if (sheet)  sheet = ss.getSheetByName(sheet); 
  else  sheet = ss.getActiveSheet(); 
  var range = sheet.getRange(A1Notation);
 
  return range.getDisplayValues();

然后将其用作ususl公式:

=repeatAsText("A1:A3")

A1Notation -- 像“A1”或“B3:AD15”这样的字符串。

sheet -- 工作表的名称,如“Sheet1”。可选,省略时使用ActiveSheet

【讨论】:

【参考方案2】:

=TEXT(now(),"yyyy-MM-dd hh:mm:ss")

这个单元格现在是一个字符串。

【讨论】:

【参考方案3】:

要将文本连接到日期,您可以这样做:

=CONCATENATE("today is: ", TEXT(HOY(), "dd-mm-yyyy"))

【讨论】:

【参考方案4】:

使用TEXTJOIN 函数。给一个空分隔符,TRUE 用于忽略空,引用的单元格为 text1,并且不为 text2 提供任何内容。

=TEXTJOIN("",TRUE,A1)

完成。

【讨论】:

一个讨厌的把戏,但绝对是最好的答案! (我已经尝试了所有其他方法,但没有一个效果很好) @Richard 我认为学习 Perl 教会了我寻找最终让生活更轻松的“讨厌”技巧。【参考方案5】:
    将该列复制到另一列 选择复制的列 进入菜单“格式”-->“数字”-->“纯文本”

【讨论】:

我在我的 Google 电子表格中使用了它。日期在工作表上看起来是 1,但阅读它们会产生不同的结果。只需选择您要修复的行和上面的第 3 项即可。【参考方案6】:

您可以使用the TEXT function。

=Text(cellReference, "mm-dd-yyyy")

【讨论】:

哦,抱歉,我意识到我的问题表述得很糟糕。我的意思是我有一个日期字段。它可能具有 mm-dd-yyyy 格式,也可能具有 mm/dd/yyyy 格式。我想创建一个新列,它实际上是相同的,但与具有相同格式的文本。我会酌情更新我原来的问题。 那是......与您提出的问题完全不同的问题,哈哈。就像没有关闭一样。 对。对不起。我记得尝试使用 TEXT 公式,但似乎您不能只指定使用相同的格式。 TEXT 仍然是执行此操作的方法,但您需要一种方法来确定每个字符串的格式。

以上是关于如何在 Google 表格中将日期转换为字符串的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Google Sheet 日期数值转换为 JavaScript 日期?

如何在 Google Apps 脚本中将 BigQuery TIMESTAMP 转换为日期?

如何在EXCEL中将字符转成日期 如19970828转成1997-08-28

如何将字符串日期列转换为 Google 大查询中的日期列?

在 pyspark SQL 中将字符串日期转换为日期格式

如何在python中将字符串日期转换为日期时间格式? [复制]