如何在本机中计算 {dd-mm-yyyy} 格式的两个日期之间的差异

How to calculate difference between two dates in {dd-mm-yyyy} format in react native

我想在 React Native 中计算两个日期之间的差异我的日期格式是 {dd-mm-yyyy} 我已经使用 moment 转换了时间戳并放入了一个格式的变量 {dd-mm-yyyy hh:mm: ss} 所以我所做的是拆分日期和时间,所以现在我在另一个变量中有一个这种格式的日期{dd-mm-yyyy} 我已经尝试了它向我展示的几种方法,NaN。 这是代码:

const responseJson = [[{"start_date": 1618905463, "end_date" : 1618955463 }]]

var st_date = responseJson[0][0]['start_date']; {
  var time_st = moment.unix(st_date).format("DD-MM-YYYY h:mm:ss");
  setStartDate(time_st)
}
//alert(startdate);
var start = time_st.split(' ')[0];
//alert(start);

var end_date = responseJson[0][0]['end_date']; {
  var time_en = moment.unix(end_date).format("DD-MM-YYYY h:mm:ss");
  setEndDate(time_en)
}
//alert(enddate);
var end = time_en.split(' ')[0];
//alert(end);
date1=startdate;
date2=enddate;
var z = moment('date1', 'DD-MM-YYYY'); 
var w = moment('date2', 'DD-MM-YYYY');
var v = w.diff(z, 'days');
//alert(v);
//alert(diff);
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>

不需要在moment个实例和字符串之间来回切换。一旦你使用 moment.unix 将 unix 时间转换为时刻实例,你就可以直接使用它来获取两者之间的天数(或小时、分钟、秒,根据需要)。

const responseJson = [[{"start_date": 1618905463, "end_date" : 1618955463 }]]

var st_date = responseJson[0][0]['start_date']; 
var time_st = moment.unix(st_date)

var end_date = responseJson[0][0]['end_date']; 
var time_en = moment.unix(end_date)

console.log(time_st,time_en);
var v = time_st.diff(time_en, 'days');
console.log(v)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>