将日期转换为时间戳

时间:2014-02-25 19:02:09

标签: javascript date

我有这样的日期25. 02. 2014 18:48:21,我正在尝试将其转换为时间戳

var someDate = '25. 02. 2014 18:48:21';
var timestamp = new Date(someDate).getTime();

但是由于我将文件移动到新域,它返回NaN,这可能是一个什么问题?

5 个答案:

答案 0 :(得分:0)

在控制台中运行此功能,使用该变量创建新日期会给我Invalid Date。尝试转换25.和02.像这样:

var someDate = '02. 25. 2014 18:48:21';
var timestamp = new Date(someDate).getTime(); // 1393372101000

格式应为“月,日,年,时间”。

答案 1 :(得分:0)

'25. 02. 2014 18:48:21'不是有效的日期格式。你必须先用正则表达式转换它,就像那样:

var someDate = '25. 02. 2014 18:48:21';
var converted = someDate.replace(/^(\d{2}\. )(\d{2}\. )(\d{4})/, '$3. $2$1');
// converted is in format: YYYY. MM. DD.
var timestamp = new Date(converted).getTime();

答案 2 :(得分:0)

切换月和日将有效。我也删除了点。

var date = "25. 02. 2014 18:48:21";
new Date(date.replace(/(\d{2})\. (\d{2})\./, '$2 $1'))
// Tue Feb 25 2014 18:48:21 GMT+0100 (W. Europe Standard Time)

答案 3 :(得分:0)

您可以尝试下面的内容(如果您的字符串始终具有相同的格式)

var someDate = '25. 02. 2014 18:48:21';
var arr = someDate.split(' ');
var time = arr[3].split(':');
var timeStamp = new Date(arr[2],arr[1].split('.')[0],arr[0].split('.')[0],time [0],time[1],time[2]).getTime();

它使用javascript日期对象构造函数

var d = new Date(year, month, day, hour, minute, seconds);

适用于所有浏览器

答案 4 :(得分:0)

function convertSomeDate(str){
    var d= str.match(/\d+/g), 
    dA= [d[2], '-', d[1], '-', d[0], 'T', d[3], ':', d[4], ':', d[5], 'Z'].join('');
    return +new Date(dA)
}

var someDate= '25. 02. 2014 18:48:21';
convertSomeDate(someDate)

/ *返回值:(Number) 1393354101000 * /