javascript谷歌应用程序脚本格式的字符串中的日期
Date from string in format javascript google apps script
在我的web应用程序中,用户需要填写日期和时间等字段。在日期中,他们可以按以下格式输入日期:年月日或年月日(不幸的是,我无法控制用户将如何输入)
他们还可以从下拉列表中选择时间:上午08:00、上午8:30、上午09:00,下午05:00
现在,我正试图使用下面的函数将时间和日期字符串转换为一个有效的日期对象,但我得到了"DateisInvalidDate"的输出。我该如何处理?
var timeStartString ="1970/01/01 "+ "10:00am";
var st1 =createDate("1/12/2013",timeStartString);
Logger.log("Date is"+st1);
function createDate(dateString,timeString)
{
var eventDate = new Date(dateString);
var eventTime = new Date(timeString)
message +="Date String:"+dateString + " timeString "+timeString;
eventTime.setFullYear(eventDate.getFullYear());
eventTime.setDate(eventDate.getDate());
eventTime.setMonth(eventDate.getMonth());
return eventTime;
}
您可能想研究一下Moment.js库的使用,它使JavaScript中的日期解析和操作更加容易。有关如何在应用程序脚本中使用它的详细信息,请点击此处。如果日期格式是一致的,那么您可以使用自定义格式字符串来解析它
var date = moment('1970/01/01 10:00am', 'YYYY/MM/DD HH:mma').toDate();
如果am或pm直接与时间匹配,Date类将无法识别时间。例如,new Date("1/12/2013 10:00am")
返回Invalid Date
,而new Date("1/12/2013 10:00 am")
返回Sat Jan 12 2013 22:00:00
。这是一个微妙的区别,但这就是构建解析器的方式。如果将日期与格式正确的时间字符串连接起来,则根本不需要createDate
方法。
相关文章:
- 如何在 java 脚本中将字符串日期转换为 GMT
- 如何用字符串日期填充日期选择器表单
- 比较两个 JavaScript 字符串日期
- 解析字符串日期
- 分析具有不同时区的字符串日期
- 在 Javascript 中将字符串日期 YYYY-MM 转换为日期
- pickadate.js-3.5.3 将字符串日期转换为 mysql DATE 的正确格式
- 使用javascript jquery或css格式化字符串日期
- Javascript |字符串日期格式设置为2014年6月4日至2014年06月4日
- 字符串日期到unix时间戳
- *javascript*将字符串日期转换为UTC日期
- 如何拆分字符串(日期),以不同的字符分隔
- 如何格式化JavaScript长字符串日期
- 如何使用 Ajax 控件工具包 (CalendarExtender) 验证字符串日期
- 在javascript中转换字符串日期
- 如何在ASP中转换DateTime形式的字符串日期.净c#
- 将JSON字符串日期转换为JavaScript (Google Apps Script)
- 将javascript的字符串日期时间转换为c#的日期时间
- 在javascript中转换字符串日期到日期时间,如何处理日期格式
- 如何将JSON字符串日期转换为自定义格式日期