我有 - Tue, 03 Apr 2012 05:00:33 GMT
需要这个 - 20120323111106
谷歌让我失望了,我想我只是不确切地知道我在搜索什么,所以我在这里用这个问题保持简单。
编辑:日期显然不匹配,只是希望以这种格式获得它。
答案 0 :(得分:1)
答案很好(后来编辑):
我认为这就是你要找的东西:
function addZero(val){
if (parseInt(val) < 10) return "0" + val;
return val;
}
var dt = new Date("Tue, 03 Apr 2012 05:00:33 GMT");
console.log(dt.getFullYear() + addZero(dt.getMonth()) + addZero(dt.getDay()) + addZero(dt.getHours()) + addZero(dt.getMinutes()) + addZero(dt.getSeconds()))
最初的错误答案:
var dt = new Date("Tue, 03 Apr 2012 05:00:33 GMT")
var miliseconds = dt.getTime();
我测试了它,我的电脑自动将其转换为GMT +3(我的时区),您可以根据您的时区进行测试。
答案 1 :(得分:0)
编写一个解析字符串的函数应该对你有用。通过它的外观,您当前拥有的任何日期字符串将具有相同的长度。如果是这种情况,这应该相对容易。在将它们作为参数传递之前,请确保您的字符串采用这种格式。
function parse(string) {
var out = "yyyymmddhhmmss"
out.charAt(0) = string.charAt(13);
out.charAt(1) = string.charAt(14);
out.charAt(2) = string.charAt(15);
out.charAt(3) = string.charAt(16);
//if else statements for each month converting to numbers
if (string.substring(9,12).equals("Apr")) {
out.charAt(4) = '0';
out.charAt(5) = '4';
}
out.charAt(6) = string.charAt(18);
out.charAt(7) = string.charAt(19);
...etc for the remaining values
return out
}
我的角色指数数字可能会被关闭,但如果你使用这个想法,它应该让你直截了当。定义一个函数并以您所拥有的格式传递日期,然后以您想要的格式输出日期。