我有以下代码,我从URL中的参数获取。
这就是我在URL中的内容 &安培; dateStart = 2015年1月15日&安培; timeStart = 08%3A00&安培;
获得参数后,我有以下内容:15.01.2015:08:00
使用Javascript如何解析此字符串以获取日期(以毫秒为单位)?
Date.parse(15.01.2015:08:00)
但显然这不起作用。
Date.parse(15-01-2015)
这可行,我可以改变这个但是如何添加或获取从时间开始的毫秒?
答案 0 :(得分:2)
这很可能是我生命中写过的最丑陋的JavaScript函数,但它应该适合你。
function millisecondsFromMyDateTime(dateTime) {
var dayMonth = dateTime.split('.');
var yearHourMinute = dayMonth[2].split(':');
var year = yearHourMinute[0];
var month = parseInt(dayMonth[1]) - 1;
var day = dayMonth[0];
var hour = yearHourMinute[1];
var minute = yearHourMinute[2];
var dateTimeObj = new Date(year, month, day, hour, minute, 0, 0);
return dateTimeObj.getTime();
}
它将使用您的DateTime所在的格式day.month.year:hours:minutes
。
答案 1 :(得分:1)
您可以尝试使用moment.js这样的库:
moment('15.01.2015 08:00', 'DD.MM.YYYY HH:mm').milliseconds()
答案 2 :(得分:1)
检查格式
javascript中的日期():
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
允许格式:
http://tools.ietf.org/html/rfc2822#page-14
答案 3 :(得分:1)
您可以使用Javascript Date Object和JavaScript getTime() Method来实现它:
var dateString="01.15.2015 08:00";
var d = new Date(dateString);
console.log(d);
var ms=d.getTime();
console.log(ms);
ms+=10000;
console.log(new Date(ms));
注意: 将日期字符串从15.01.2015:08:00
更改为"01.15.2015 08:00"
,因为它不是有效的日期格式。
答案 4 :(得分:1)
为了完成,您始终可以从提取的数据中提取信息并创建Date对象。
var dateStart = '15.01.2015'
var timeStart = '08:00';
var year = dateStart.substring(6,10);
var month = dateStart.substring(3,5);
var day = dateStart.substring(0,2);
var hour = timeStart.substring(0,2);
var mins = timeStart.substring(3,5);
var fulldate = new Date(year, month-1, day, hour, mins);
console.log(fulldate.getTime());