如何减去和加上日期反应原生

时间:2017-08-24 11:02:38

标签: react-native

实际上,我遇到了一个关于约会的问题。

我想减去并加上反应原生的日期。

是否有任何解决方案。

我使用过Moment.js,但错误发生在其中所以请帮助我。

提前谢谢

3 个答案:

答案 0 :(得分:5)

查看以下使用时刻添加和减去日,月和日的工作示例:

日期

let tomorrow = new Date();
tomorrow = moment(tomorrow).add(1, 'day').format('YYYY-MM-DD'); // for specific format

let today = moment(new Date()).format('YYYY-MM-DD');

let tomorrow = new Date();
tomorrow = moment(tomorrow).add(1, 'day').format('YYYY-MM-DD');

月份

moment(currentMonth).add(1, 'month');
moment(currentMonth).subtract(1, 'month');

日期

let now  = "14/11/2016";
let then = "03/12/2017";

let diff = moment(now,"DD/MM/YYYY").diff(moment(then,"DD/MM/YYYY"));
let duration = moment.duration(diff);
let result = duration.format("hh:mm:ss");

请参阅详细日期差异:https://stackoverflow.com/a/18624295/6592263

编辑(未经测试)

获得月份

let d = moment(new Date());
d.month(); // month number
d.format('ddd MMM DD YYYY');

获得年度

let d = moment(new Date());
d.year() // year

答案 1 :(得分:1)

如果要获取今天的日期并添加年,月或日,则可以首先创建日期对象,访问相关属性,然后使用它们创建新的日期对象:

    const date = new Date();

    const year = date.getFullYear();
    const month = date.getMonth();
    const day = date.getDate();

    const c = new Date(year + 1, month, day) // PLUS 1 YEAR
    const d = new Date(year, month + 1, day) // PLUS 1 MONTH
    const f = new Date(year, month, day  + 1) // PLUS 1 DAY

答案 2 :(得分:0)

我的用例是在添加几个月后获得结束日期。无需花费时间即可工作。

function formatDate(date) {
   var monthNames = [
     "January", "February", "March",
     "April", "May", "June", "July",
     "August", "September", "October",
     "November", "December"
   ];

   var day = date.getDate();
   var monthIndex = date.getMonth();
   var year = date.getFullYear();

   return day + ' ' + monthNames[monthIndex] + ' ' + year;
 }
     

function add_months_todate(dt, no_of_month) 
     {
       return new Date(dt.setMonth(dt.getMonth() + no_of_month));      
     }
    
    start_date = new Date();
    end_date = add_months_todate(new Date(), 10); 

console.log("START DATE",formatDate(start_date));
console.log("END DATE",formatDate(end_date)); 

参考:https://www.w3resource.com/javascript-exercises/javascript-date-exercise-43.php