2015-01-30 4 views
1

я получаю в предыдущий день, используя moment следующим образом:Используя момент, чтобы манипулировать дату и время

var start_time = moment().tz("America/Los_Angeles").subtract(1, 'day').format('YYYY/MM/DD-00:00:00'); 

Это выводит следующее:

2015/01/29-00:00:00 

Теперь я хочу следующее с помощью start_time:

2015/01/29-01:00:00 
2015/01/29-02:00:00 
2015/01/29-03:00:00 
2015/01/29-04:00:00 
2015/01/29-05:00:00 

Я попытался сделать это следующим образом:

for(var i = 0; i<6; i++){ 
    console.log(moment(start_time,"YYYY/MM/DD-HH:mm:ss").add(1,'hour')); 
} 

Но это не работает. Как мне это сделать?

ответ

1

У вас его почти не было.

for(var i = 0; i<6; i++){ //make sure to actually use i! 
    console.log(//expects a string 
     moment(start_time,"YYYY/MM/DD-HH:mm:ss") //this works 
     .add(1,'hour') //this will return a moment object, not a string 
    ); 
} 

Так что просто изменить его на

for(var i = 0; i<6; i++){ 
    console.log(
     moment(start_time,"YYYY/MM/DD-HH:mm:ss") 
     .add(i,'hour') //changed to i 
     .format('YYYY/MM/DD-HH:mm:ss') //make it a string 
    ); 
} 
// Prints 
// 2015/01/29-00:00:00 
// 2015/01/29-01:00:00 
// 2015/01/29-02:00:00 
// 2015/01/29-03:00:00 
// 2015/01/29-04:00:00 
// 2015/01/29-05:00:00 
Смежные вопросы