如何在 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 转换为日期?