将无效javascript格式的日期转换为ics标准datetime字段
Converting a date in an invalid javascript format to an ics standard datetime field
日期和时间实际上是分开的数据,但我认为结合它们将是理想的解决方案?
未修改的数据如下所示:2014/09/04
和02:30PM
var aDate = new Date('2014/09/04 02:30PM');
//Invalid date....
console.log(aDate.toString());
需要转换为。ics文件使用的日期,如下所示:
20140904T023000
->这就是上面的日期将变成的。
我该怎么做?
JSBin你可以测试在…
变化
var aDate = new Date('2014/09/04 02:30PM');
var aDate = new Date('2014/09/04 02:30 pm');
,它应该可以工作。你只需要在PM前加一个空格。这不会给你无效日期错误。然后您可以使用该日期获得ICS格式。
下面是获得ICS格式的逻辑。我知道这样做效率不高,但我尽量让它保持简单。var pre =
aDate.getFullYear().toString() +
((aDate.getMonth() + 1)<10? "0" + (aDate.getMonth() + 1).toString():(aDate.getMonth() + 1).toString()) +
((aDate.getDate() + 1)<10? "0" + aDate.getDate().toString():aDate.getDate().toString());
var post = (aDate.getHours()%12).toString() + aDate.getMinutes().toString() + "00";
console.log(pre + "T" + post);
如果您使用24小时记数法来表示时间,而不是表示AM/PM,您应该能够很好地解析日期。
从Chrome控制台:
(new Date('2014/09/04 02:30PM'));
Invalid Date
(new Date('2014/09/04 14:30'));
Thu Sep 04 2014 14:30:00 GMT+0100 (BST)
有了这个对象,您应该能够使用date原型上的各种getter来构造ICS格式兼容的日期。
没有默认的api来转换为。ics文件格式,但是您可以手动完成。
function toITCFormat(date, time)
{
var timeCont = [],
dateCont = [];
if(time.toLowerCase().indexOf('pm')!=-1)
{
timeCont = time.toLowerCase().replace('pm',00).split(':'); //assuming from your question seconds is never mentioned but only hh:mm i.e. hours and minutes
timeCont[0] = (parseInt(timeCont[0])+12)%24;
}
else
{
timeCont = time.toLowerCase().replace('am',00).split(':');
}
dateCont = date.split('/');
return dateCont.join('')+'T'+timeCont.join('');
}
var x = toITCFormat('2014/09/04','02:30PM');
console.log(x);// this will output ur .ics format
<<p> JSFiddle例子/em> 相关文章:
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 如何允许web浏览器记住未以标准方式发送的表单字段
- 命名约定的Web标准
- 用于编码标准的javascript工具
- Sencha Ext JS排序标准以字符串而不是JSON的形式发送
- LokiJS与标准Javascript对象访问
- backbone.js-映射标准url参数-使用多个参数
- 如何将日期转换为标准格式
- 为什么新js Fetch标准禁止响应头名称为'设置Cookie 1/2'
- 阻止用户在Netsuite中使用标准/未自定义的表单
- 获取非标准模式中的子字符串
- highcharts:更改工具提示和阴影(悬停)的标准位置
- Google Maps Javascript v3 自定义控件子类化标准控件
- 如何使用 JavaScript 或 PHP 将 IE 11 企业模式设置为标准模式
- Google Apps Script中的标准Javascript
- 扩展 JavaScript 标准类型陷阱
- 在IE8和其他带有javascript的浏览器中获取正文类的标准解决方案是什么
- 使用 requireJS 加载标准 JavaScript 文件
- 在旧标准中使用未来的保留关键字
- 将无效javascript格式的日期转换为ics标准datetime字段