简单的Javascript日期转换

简单的Javascript日期转换,javascript,date,Javascript,Date,我有这个-2012年4月3日星期二05:00:33 GMT 需要这个-20120323111106 谷歌让我失望了,我想我只是不知道我到底在搜索什么,所以我在这里简单地回答了这个问题 编辑:日期显然不匹配,只是希望得到该格式。编写函数解析字符串应该适合您。从外观上看,您当前拥有的任何日期字符串的长度都是相同的。如果是这种情况,这应该是相对容易的。在将字符串作为参数传入之前,请确保字符串采用这种格式 function parse(string) { var out = "yyyymmddh

我有这个-
2012年4月3日星期二05:00:33 GMT

需要这个-
20120323111106

谷歌让我失望了,我想我只是不知道我到底在搜索什么,所以我在这里简单地回答了这个问题


编辑:日期显然不匹配,只是希望得到该格式。

编写函数解析字符串应该适合您。从外观上看,您当前拥有的任何日期字符串的长度都是相同的。如果是这种情况,这应该是相对容易的。在将字符串作为参数传入之前,请确保字符串采用这种格式

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
}
我的字符索引数字可能是关闭的,但如果你使用这个想法,它应该让你直。定义一个函数并以您拥有的格式传入日期,然后以您想要的格式输出日期。

回答正确(稍后编辑):

我想这就是你想要的:

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()))

我已经测试过了,我的电脑自动将其转换为GMT+3(我的时区),你可以根据你的时区玩它。

相关:还有一个新的js库用于处理日期:“周二,2012年4月3日05:00:33 GMT”和“20120323111106”甚至不是同一个日期。您是否只需要该格式的字符串,或者在给定输入日期的情况下,后面的字符串应该是实际生成的字符串?谢谢,但这并没有提供我想要的输出。这只给出了以毫秒为单位的日期。哦,我觉得长字符串是以毫秒为单位的日期格式。很抱歉我希望这很容易:)
var dt = new Date("Tue, 03 Apr 2012 05:00:33 GMT")
var miliseconds = dt.getTime();