Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google AppScript更改日期格式_Google Apps Script - Fatal编程技术网

Google apps script Google AppScript更改日期格式

Google apps script Google AppScript更改日期格式,google-apps-script,Google Apps Script,我有一个格式为“2018-07-18 20:20:27”的日期,在谷歌应用程序脚本中,我需要更改为格式为“dd-MMM-yyyy”,以便获得“2018年7月18日” 我尝试了以下方法: Logger.log(Utilities.formatDate(new Date('2018-07-18 20:20:27'), 'Etc/GMT', 'dd MMM yyyy')); 但这只给了我:1970年1月1日 一直都是,不是我过去的日子。有人知道我哪里出错了吗?到目前为止,我唯一能做到这一点的方法是:

我有一个格式为“2018-07-18 20:20:27”的日期,在谷歌应用程序脚本中,我需要更改为格式为“dd-MMM-yyyy”,以便获得“2018年7月18日”

我尝试了以下方法:

Logger.log(Utilities.formatDate(new Date('2018-07-18 20:20:27'), 'Etc/GMT', 'dd MMM yyyy'));
但这只给了我:1970年1月1日
一直都是,不是我过去的日子。有人知道我哪里出错了吗?

到目前为止,我唯一能做到这一点的方法是:

var startDate = Utilities.formatDate(new Date(rawExport[0][1].substr(0,10)), 'GMT', 'dd MMM yyyy')

这很管用,但不是很漂亮

Logger.log(新日期(“”))给了你什么?date对象创建正确吗?它给我:Thu Jan 01:00:00 GMT+01:00 1970。我认为问题在于时间:在小时分钟和秒之间,我将尝试使用子字符串来消除时间,然后尝试它。这可以完成工作,但要保持开放状态,以防有人能找到更好的方法。var a='2018-07-18 20:20:27'var c=新日期(a.substr(0,10))var d=实用程序.formatDate(c'GMT','dd-MMM-yyyyy')Logger.log(a);Logger.log(c);Logger.log(d);也许可以尝试
var c=new Date(a.replace(“”,“T”))
nope这不起作用。尝试避免硬编码时区,改用Session.getScriptTimeZone()。这将防止夏令时问题。非常好的建议谢谢,用这个更新了我的脚本。