2016-05-31 30 views
-3

我有一個5位數字存儲在一個變量中。下一步是將數字轉換爲日期。例如如何將8位數字轉換爲日期格式

var x = 20151506; 

上述數字已被轉換爲:

Thu June 15 2015 06:35:50 
+3

來自哪裏的時間? – bayotop

+1

你有一些代碼開始向我們展示? –

+6

5位數字在哪裏? – phuzi

回答

1

請注意,您必須先指定你原來的日期值的時間才能被格式化,並在你的正確輸出包括。因此,以下內容不會提供您正在查找的時間元素。

引用此SO answer

function parse(str) { 
    var y = str.substr(0,4), 
     m = str.substr(6,2) - 1, 
     d = str.substr(4,2); 
    var D = new Date(y,m,d); 
    return (D.getFullYear() == y && D.getMonth() == m && D.getDate() == d) ? D : 'invalid date'; 
} 

用法:

parse('20151506');

輸出:

Mon Jun 15 2015 00:00:00 GMT-0500 (Central Daylight Time)

或在您的情況

輸出:

Mon Jun 15 2015 00:00:00 GMT-0500 (Central Daylight Time)

的代碼片段提供如下:

var x = 20151506; 
 

 
function parse(str) { 
 
    var y = str.substr(0,4), 
 
     m = str.substr(6,2) - 1, 
 
     d = str.substr(4,2); 
 
    var D = new Date(y,m,d); 
 
    return (D.getFullYear() == y && D.getMonth() == m && D.getDate() == d) ? D : 'invalid date'; 
 
} 
 

 
//document.write (parse('20151506')); 
 
document.write (parse(x.toString()));

+0

OP有一個數字,不是字符串 – phuzi

+1

@phuzi不用擔心,你可以直接調用'.toString' –

+2

'解析(20151506..toString())' –

1

要轉換 「數字」 中的日期,便會必須spl它會進入相關的年份月份日期(小時,分鐘和秒鐘似乎已丟失)。

var x = 20151506; 
var month = x % 100; 
var day = Math.floor(x % 10000/100); 
var year = Math.floor(x/10000); 
var date = new Date(year, month - 1, day) 

這會給你最新的值whateve當地時區是 - Mon Jun 15 2015 00:00:00 GMT+0100 (GMT Daylight Time)

不知道你從哪裏得到你的時間?

相關問題