2017-06-28 71 views
0

我正在使用moment.js的某些日期處理函數,例如添加日期。使用Moment.js返回值

import moment from 'moment'; 

const addDays = (date, days) => { 
    return moment(date).add(days, 'd'); 
} 

這似乎工作,但返回一個對象。如何返回簡單的日期值?

+0

剛'返回時刻(日期).add(天,'d')。格式('YYYY-MM-DD');' – usrNotFound

回答

1

取決於您希望如何格式化以及使用哪種數據類型。


要獲得Moment.js包本機日期對象的副本,使用.toDate()函數..

return moment(date).add(days, 'd').toDate();

要獲得副本以ISO格式的字符串。 。

return moment(date).add(days, 'd').toISOString();

爲了得到一份拷貝作爲一個真正的字符串(我想你想)..

return moment(date).add(days, 'd').toString(); // Sat Apr 30 2016 16:59:46 GMT-0500return moment(date).add(days, 'd').format(); // 2013-03-10T01:30:00-05:00

爲了得到一個副本在一定格式的字符串..

return moment(date).add(days, 'd').format('MMMM Do YYYY, h:mm:ss a'); // June 28th 2017, 3:55:57 pm


退房更多信息的文檔:https://momentjs.com/docs/#/get-set/

+0

謝謝。後續問題:我來自強類型語言的世界。我是否需要將字符串值轉換爲日期? – Sam

+0

@Sam,這取決於你正在使用它。你打算用它做什麼?在你的例子中,你可能不想返回一個字符串,因爲它是一個效用函數。 – dotKn0ck

+0

正如我所說,因爲我來自強類型語言,我總是傾向於將數據保存在正確類型的變量中。我想,如果有必要進行日期計算,我總是可以將字符串投到日期,但我的想法是爲什麼要等待?我寧願保留日期而不是字符串。我懷疑這對某些JS開發人員可能聽起來有些奇怪。 – Sam