我有这样的日期25. 02. 2014 18:48:21
,我正在尝试将其转换为时间戳
var someDate = '25. 02. 2014 18:48:21';
var timestamp = new Date(someDate).getTime();
但是由于我将文件移动到新域,它返回NaN,这可能是一个什么问题?
答案 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 * /