2017-03-06 151 views
0

我有我在我的終極版形式使用DateInput組件使用日期選擇器比較兩個日期:在反應 - 終極版

const MyDatePicker = ({ input, meta: { touched, error } }) => (
    <div> 
    <DatePicker 
     {...input} dateFormat="DD-MM-YYYY" 
     selected={input.value ? moment(input.value, 'DD-MM-YYYY') : null} 
    /> 
    {touched && error && <span>{error}</span>} 
    </div> 
); 

如何比較這是由該組件產生的兩個日期?我試圖從moment.js的isAfter函數,但它沒有工作

回答

2

這個問題是無關redux-form。這只是一個通用的日期比較問題。時刻可以爲你做到。你只需要弄清楚如何。

const withinAYear = moment(start).add(1, 'year').isAfter(moment(end)) 
+0

我忘記給第二個參數添加時間了。非常感謝 :) – user7334203

2

要比較兩個日期對象,您可以將日期轉換爲Unix時間戳。 Unix時間戳是從1970年1月1日開始的幾秒(毫秒)。你將有兩個int,你可以簡單地比較它們。

https://momentjs.com/docs/#/displaying/unix-timestamp/

+0

感謝您的迴應Andrew!但是我有一個更復雜的任務。我必須驗證兩個日期之間的差異應該是最大的一年 – user7334203