我拥有的数据中的日期和时间实际上是分开的,但是我认为将它们组合在一起将是理想的解决方案?

不变的数据如下所示:
2014/09/0402: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);

09-25 19:39