javascript - 过滤和格式化日期数组
问题描述
我有一个从 1950 年到 2019 年的日期数组。任务是过滤日期,以便日期数组包含 1970 年之后的日期,我们需要将日期映射到给定的格式,比如更改格式。
let dateformat="April 2015"
var endDate = ["1950-09-02T23:00:00.000Z",
"1951-06-02T23:00:00.000Z"
..........
"2016-09-02T23:00:00.000Z",
.........
"2019-09-02T23:00:00.000Z"]
my solution:
endDate.filter(item => item > 1970).map(item => item = new Date(dateFormat))
预期结果是日期数组将日期从给定格式更改为 2015 年 4 月 - 仅月 - 年。我能够过滤日期以使日期大于 1970 年,但无法映射到给定的格式。我也在尝试使用 ES6 语法来做到这一点。该数组是通过将日期推入数组来动态生成的。
解决方案
将字符串映射到Date
对象,按年份过滤,然后使用以下命令将日期映射到请求的格式Date.toLocaleString()
:
const dateformat = "April 2015"
const endDate = ["1950-09-02T23:00:00.000Z", "1951-06-02T23:00:00.000Z", "2016-09-02T23:00:00.000Z", "2019-09-02T23:00:00.000Z"]
const result = endDate
.map(item => new Date(item))
.filter(item => item.getFullYear() > 1970)
.map(item => item.toLocaleString('en-US', {
month: 'long',
year: 'numeric'
}))
console.log(result)
推荐阅读
- salt-stack - 状态未形成为列表
- php - 查找具有相同索引值的两个数组的范围并与php中的另一个数组组合
- webhooks - Bamboo 在 webhook 中使用脚本任务中的变量
- java - 无法解析符号“setStatusBarDisabled”?
- microsoft-graph-api - Microsoft Graph API 权限(学校帐户)
- android - 导航组件:带有导航控制器和自定义操作的底部导航设置
- tfs - TF400789 - 无法启动主机。主机正在服务中
- opc-ua - 在 OPC UA 中过滤服务器上的节点信息
- html - 如何避免 div 浮动与改变文本长度?
- c# - JPG到PDF转换问题C# iTextSharp