我正在使用Google Sheets API在工作表中插入一些数据。 每行都有一个日期单元格,其日期格式为“ 2017-02-01 19:33:56 + 00:00” ,我希望它以此格式显示(02 2017年1月),但我想将原始格式隐藏在同一单元格中。
是否存在脚本或可用于以该格式显示日期的内容?
答案 0 :(得分:1)
只需从格式菜单中添加自定义数字格式。这个应该可以解决“ dd MMM yyyy”的问题。日期不会改变,因此,如果您想回到原来的日期,则始终可以。您可以使用脚本在range.setNumberFormat
之间进行切换您可以使用此脚本来设置NumberFormats():
Cannot read property 'type' of undefined
我对ss + 00:00不熟悉,不确定是什么意思。但是也许您可以查看下面的文档。您也许可以使用range.getNumberFormat()获取并保存该格式以备将来使用。
SpreadsheetApp.getActiveRange().setNumberFormat("dd MMM yyyy");
答案 1 :(得分:1)
此格式“ 2017-02-01 19:33:56 + 00:00” 无法为Google表格识别,这是因为它在最终版本中具有附加值,指示时区日期“ + 00:00” 的时候,我决定创建一个小脚本来获取该时区值,并在日期中添加/减去小时和分钟,以便我可以看到正确的小时我的时区。
from datetime import datetime, timedelta
def formatDatetime(o_date, f_hours=0, f_minutes=0):
# ----- Removing the timezone from the data str
date_a = o_date.split('+')
date = date_a[0]
#----------------------------------------------------
# ----- Format/Add/Sub Hours and minutes
date = datetime.strptime(date, '%Y-%m-%d %H:%M:%S')
date = date + timedelta(hours=f_hours)
date = date + timedelta(minutes=f_minutes)
date_f = format(date, '%m/%d/%Y %H:%M:%S')
# -------------------
return date_f
现在,谷歌表将这个值识别为日期,因此我可以进行自定义格式设置,以在工作表中显示漂亮的日期。