创建sectionList 的标题比较今天的日期和数组中的日期?

Posted

技术标签:

【中文标题】创建sectionList 的标题比较今天的日期和数组中的日期?【英文标题】:create sectionList with a title that compares the today's date and the date from the array? 【发布时间】:2020-12-20 00:48:24 【问题描述】:

所以我有一个包含数据的数组

var today = "2020-08-31"
var array = [

  name: "Joshua", 
  id: 1, 
  date: "2020-08-31"
, 

  name: "Michael", 
  id: 2, 
  date: "2020-09-1"
]

我想创建一个 sectionList,它的 sectionHeader 标题 将取决于今天的日期,并将其与数组中的日期值进行比较。例如,数组中的日期为“2020-08-31”,今天的日期与“2020-08-31”相同,标题应为“今天”,明天为“2020-09-01”,日期为数组仍然是“2020-08-31”标题应该是“昨天”有可能吗?请帮我。我坚持这一点。谢谢!!!!

【问题讨论】:

【参考方案1】:

使用 JS Date 库中的 parse 函数解析日期,然后将其转换为 long,然后返回字符串(昨天、今天、明天)。

将 displayDate 添加到您的数组中,以便循环显示字段的值。

const today = "2020-08-31"
let array = [
    name: "Joshua",
    id: 1,
    date: "2020-08-31"
  ,
  
    name: "Michael",
    id: 2,
    date: "2020-09-1"
  
]

array = array.map(x => (
  ...x,
  displayDate: (() => 
    if (Date.parse(today) < Date.parse(x.date)) 
      return 'yesterday';
     else if (Date.parse(today) > Date.parse(x.date)) 
      return 'tomorrow';
    
    return 'today';
  )()
));

console.log(array)

【讨论】:

以上是关于创建sectionList 的标题比较今天的日期和数组中的日期?的主要内容,如果未能解决你的问题,请参考以下文章

将今天日期与生日/假期数组进行比较的 JS 函数

如何使用嵌套的 flatlist 或 sectionlist?

通过与javascript中的今天日期进行比较来允许今天的日期和未来的日期

比较给定日期和今天

React-Native SectionList 滚动到Android上的项目

Android比较纪元时间和今天日期并输出差异[重复]