我拥有的数据中的日期和时间实际上是分开的,但是我认为将它们组合在一起将是理想的解决方案?
不变的数据如下所示:2014/09/04
和02:30PM
var aDate = new Date('2014/09/04 02:30PM');
//Invalid date....
console.log(aDate.toString());
需要转换为.ics文件使用的日期,如下所示:
20140904T023000
->这就是上述日期。我该怎么做呢?
JSBin you could test in...
最佳答案
更改
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);