2014-10-28 91 views
-1

我有以下的日期 -拆分日期字符串到變量

201409290000 

我想這個使用下面的分裂 -

var timePeriodDay = timePeriod.substring(6, Math.min(timePeriod.length, 2)); 
var timePeriodMonth = timePeriod.substring(4, Math.min(timePeriod.length, 2)); 
var timePeriodYear = timePeriod.substring(0, Math.min(timePeriod.length, 4)); 
var timePeriodTime = timePeriod.substring(8, Math.min(timePeriod.length, 4)); 
var timePeriodTime = [timePeriodTime.slice(0, 2), ":", timePeriodTime.slice(2)].join(''); 

但我的邏輯似乎是掉,其中所需的輸出應該是 -

var timePeriodDay = 29 
var timePeriodMonth = 09 
var timePeriodYear = 2014 
var timePeriodTime = 00:00 

我該如何解決這個問題?

+0

這是'子(於從)',所以這一天應該是簡單的'timePeriod.substring(6,8) ;'不是你想做什麼? – adeneo 2014-10-28 16:17:35

+1

http://jsfiddle.net/q1c5b389/ – adeneo 2014-10-28 16:19:07

回答

0

嘗試使用.substr而不是.substring,因爲您的第二個參數是要提取的字符數。

var timePeriod = '201409290000'; 
 
var timePeriodDay = timePeriod.substr(6, Math.min(timePeriod.length, 2)); 
 
var timePeriodMonth = timePeriod.substr(4, Math.min(timePeriod.length, 2)); 
 
var timePeriodYear = timePeriod.substr(0, Math.min(timePeriod.length, 4)); 
 
var timePeriodTime = timePeriod.substr(8, Math.min(timePeriod.length, 4)); 
 
var timePeriodTime = [timePeriodTime.slice(0, 2), ":", timePeriodTime.slice(2)].join(''); 
 
alert(timePeriodDay + ' ' + timePeriodMonth + ' ' + timePeriodYear + ' ' + timePeriodTime);

0

您可以使用此

timePerio = '201409290000'; 


var timePeriodYear = timePerio.substr(0,4); 
var timePeriodMonth =timePerio.substr(4,2); 
var timePeriodDay = timePerio.substr(6,2); 
var timePeriodTime = timePerio.substr(8,2)+':'+timePerio.substr(10,2);