2017-09-27 74 views
1

這是我從數據庫獲取的日期格式。所有我想爆炸成兩個數字無法在nodejs中使用ejs和mysql打印日期格式

7:00-8:00 //array[0]=7:00 and array[1]=8:00 
9:00-9:30 
14:30-15:00 

下面是我寫的代碼。即時得到楠楠

<% time_slots.forEach((timeslot) =>{ 
var str = timeslot['timing'];   // here im getting 7:00-8:00 
//console.log(str); 
var arr = str.split("-").map(function (val) { //here spit with("-") 
    return +val + 1; }); 
    %> 
     <%- arr %>        //output NAN NAN 
<% }) %> 

所有我試圖讓這個樣子,數組[0] = 7:00和陣列[1] = 8:00

+0

你想用'return + val + 1;'做什麼? – Manwal

回答

0

你不需要map()這裏:

str = '7:00-8:00' 

test = str.split("-") 
console.log(test[0], test[1]) 

輸出:7:00 8:00

你得到NAN,因爲裏面的地圖功能,你正在做+val + 1,其中val是string的一種類型。

+0

是的,你是對的。他們不需要使用map()。我以爲那個地圖會給我寫數組。如果我使用map()函數,它應該給我寫一些值。我認爲這是發送字符串,而不是數字我也嘗試** parseInt **。 – venkatesh

+0

是@Vishal'7:00'是字符串,你不能使用'parseInt()'來解析它。如果你想這樣做,你需要更多的計算來解析Date obj。 – Manwal

+0

謝謝你的解釋@Manwal – venkatesh