我试图从"文本转换日期"纠正格式。它已记录到Google Spreadsheets,我无法使用它来绘制图表。
这是文字格式:February 3, 2018, at 11:21 AM
时间不相关,我只需要转换日期:DD/MM/YYYY.
我发现了一个类似的问题,其中加里的学生回答了一个看起来像这个不同格式的公式:
=DATEVALUE(SUBSTITUTE(A1,MID(A1,FIND(" ",A1)-2,2),""))
我如何使用上述公式(或类似的东西)以便将文本转换为日期?
提前致谢。
答案 0 :(得分:2)
字符串的, at
部分使Google表格无法将其识别为日期值。只需使用替换函数将其删除并包含日期值函数,如下所示:=DATEVALUE(SUBSTITUTE(A1,", at",""))
答案 1 :(得分:2)
另一种解决方案是创建自定义函数。
tools
→script editor
,以在新标签页中打开脚本编辑器Untitled project
并重命名Resources
→Libraries
MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48
,然后单击Add
将Moment
库添加到脚本中Moment
版本9
,然后单击Save
function parseDate(dateString, format){
return Moment.moment(dateString, format).toDate()
}
到Code.gs
并保存项目Ctrl+S
现在,您可以在工作表的任何单元格中使用函数了:
=parseDate(B2,"MMM D, YYYY, at HH:mm A")
有关格式的更多详细信息: https://momentjs.com/docs/#/parsing/string-formats/
您还可以创建功能以自定义格式显示日期:
function formatDate(date, format){
return Moment.moment(date).format(format)
}
像这样在单元格中使用
=formatDate(B5,"DD/MM/YYYY")
或
=formatDate(parseDate(B2,"MMM D, YYYY, at HH:mm A"),"DD/MM/YYYY")
答案 2 :(得分:0)