【问题标题】:How to calculate difference between two dates in {dd-mm-yyyy} format in react native如何在本机反应中以 {dd-mm-yyyy} 格式计算两个日期之间的差异
【发布时间】:2023-03-30 03:51:01
【问题描述】:

我想在本机反应中计算两个日期之间的差异我的日期格式是 {dd-mm-yyyy} 我已经使用时刻转换了时间戳并放入了一个格式为的变量 {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>

【问题讨论】:

  • var z = moment(date1, 'DD-MM-YYYY'); var w = moment(date2, 'DD-MM-YYYY');而不是 'date1' 放 date1
  • 请修正您的问题的formatting,并使其成为实际的minimal reproducible example(删除所有不必要的cmets)
  • 对于计算日期差异也没有什么特别的反应——我给你做了一个sn-p。请更改我的responseJson 并添加setStartDate 以使sn-p 成为minimal reproducible example
  • @Andreas 评论有助于了解 OP 的心态
  • @mplungjan 解释某些事情的评论是的。可能是注释代码。但是一堆alert()s 和console.log()s 的值并没有真正的帮助。 OPs 脚本中的任何内容现在都不会记录任何内容。那么记录NaN的语句是哪个?

标签: javascript react-native datetime react-native-navigation moment-timezone


【解决方案1】:

无需在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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    相关资源
    最近更新 更多