2014-10-28 69 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);