我的开始日期如下所示:
var startDate = "Mon Jun 30 2014 00:00:00 GMT-0400 (EDT)";
我正在尝试将其格式化为:
var endDate = "2014-06-30T00:00:00-04:00";
我已经使用 toISOString() 方法将其正确半格式化:
var formattedDate = new Date(startDate);
formattedDate = formattedDate.toISOString();
将其格式化为“2014-06-30T04:00:00.000Z”。这接近我需要的,但我想知道是否有内置方法将其格式化为“-04:00”格式?或者我是否需要将字符串分成几部分并以正确的格式将其修复在一起?
此外,我正在使用 Google Apps 脚本(即 ES5),并尽可能避免使用 jQuery。
最佳答案
Google Apps 脚本 (GAS) 有一个内置的实用方法,您可以利用它来设置日期格式:
它基于Java的SimpleDateFormat
类。
要格式化日期以满足您的要求,以下内容就足够了:
var date = new Date("Mon Jun 30 2014 00:00:00 GMT-0400 (EDT)");
var formattedDate = Utilities.formatDate(
date,
Session.getScriptTimeZone(),
"yyyy-MM-dd'T'HH:mm:ssXXX"
);
注意:您可能需要通过以下方式从 GAS GUI 菜单设置脚本的时区:
文件->项目属性->信息
关于javascript - 将日期字符串转换为 YYYY-MM-DDTHH 时遇到问题 :MM:SS-HH:MM format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53344902/