我有這個 - Tue, 03 Apr 2012 05:00:33 GMT
簡單的JavaScript日期轉換
需要此 - 20120323111106
谷歌已經失敗了我,我想我只是不知道到底是什麼即時搜索,所以我用它保存在這裏簡單題。
編輯:日期顯然不匹配,只是希望得到它的格式。
我有這個 - Tue, 03 Apr 2012 05:00:33 GMT
簡單的JavaScript日期轉換
需要此 - 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()))
初始錯誤的答案:
var dt = new Date("Tue, 03 Apr 2012 05:00:33 GMT")
var miliseconds = dt.getTime();
我測試過它,我電腦自動將其轉換爲GMT + 3(我的時區),您可以根據您的時區播放。
謝謝,但這不提供輸出即時尋找。這只是給我毫秒的日期。 – user1309548 2012-04-03 05:52:45
哦,我的印象是長字符串是毫秒日期格式。抱歉! – gabitzish 2012-04-03 06:14:33
我希望,那會很容易:) – user1309548 2012-04-03 06:24:38
相關:http://stackoverflow.com/questions/2573581/javascript-string-to-date-conversion-simple – 2012-04-03 05:09:56
還有這個新的js庫與日期處理:[XDate](http:// arshaw .com/xdate /) – 2012-04-03 05:12:22
「Tue,03 Apr 2012 05:00:33 GMT」和「20120323111106」甚至不是同一日期。你只需要它的格式,或者是後者應該是實際生成的字符串給定輸入日期 – 2012-04-03 05:12:29