She*_*ock 20 date google-apps-script
我在google apps脚本中将字符串转换为日期对象时遇到了一些问题.
我的日期采用以下格式,来自第三方API:
2013-01-17T17:34:50.507
Run Code Online (Sandbox Code Playgroud)
我试图将其转换为Date对象:
return Date(stringDate);
Run Code Online (Sandbox Code Playgroud)
这是返回:
Thu Jan 01 01:00:00 GMT+01:00 1970
Run Code Online (Sandbox Code Playgroud)
有人能告诉我我做错了什么,以及如何解决这个问题?
非常感谢
使用moment.js,解析任何ISO 8601格式都很容易.
var date = Moment.moment("2013-01-17T17:34:50.507").toDate();
Run Code Online (Sandbox Code Playgroud)
您也可以使用moment.js来解析您的任意日期字符串.
要在GAS中使用moment.js,只需在脚本编辑器中添加它即可.在GAS脚本编辑器中打开脚本,然后转到"资源",然后转到"库...",然后输入此项目密钥MHMchiX6c1bwSqGM1PZiW_PxhMjh3Sh48
并单击"添加".从下拉列表中选择版本,然后单击"保存".现在,您已准备好在GAS中使用moment.js.
moment.js可用于解析日期字符串,创建格式化日期字符串以及许多其他日期操作.感谢作者!
你可以在这里找到moment.js文档.
似乎Date对象不知道如何处理该日期.日期采用ISO 8601格式.如果给定时区信息,Javascript可以处理日期.
您将不得不进行一些测试,但如果给您的那些日期是UTC时间,那么只需Z
在调用之前在日期字符串的末尾添加一个new Date()
.
编辑:解析日期时,Apps脚本日期对象似乎无法处理UTC以外的时区.我为它开了一个问题.