javascript - 格式化日期列表并添加到元素列表
问题描述
我有一个文章列表,其中每篇文章都显示了日期。但是,日期是字符串,格式为“YYYY-MM-DD”。例如,我需要收集所有字符串,提取月份和日期并将格式转换为“Oct 11”。
我有一个循环,它从文章的元素中收集所有字符串/“日期”,我有一个循环,它从字符串中创建一个日期对象,提取月份并将其与带有月份名称的硬编码数组匹配并获取并将其保存在变量中。
const monthNames = ["jan", "feb", "mar", "apr", "maj", "jun",
"jul", "aug", "sep", "okt", "nov", "dec"];
let $month = "";
let $day = "";
let newDate = [];
$('.jobs-grid__enddate').each(function() {
newDate.push($(this).text());
});
$(newDate).each( function(i, obj) {
let $date = new Date(obj);
$month = monthNames[$date.getMonth()];
$day = $date.getDate();
})
$('.jobs-grid__enddate').text(` ${$day} ${$month}`);
}
我可以将我想要的值记录到控制台,但我不能将日期放回文章列表中。我最终打印到浏览器的只是最后处理的日期。我可以看到这不起作用,但我不知道如何使它起作用。任何指针?
解决方案
您可以在第一个循环中直接进行日期转换并替换日期:
const monthNames = ["jan", "feb", "mar", "apr", "maj", "jun",
"jul", "aug", "sep", "okt", "nov", "dec"];
let $month = "";
let $day = "";
$('.jobs-grid__enddate').each(function() {
let $date = new Date($(this).text());
$month = monthNames[$date.getMonth()];
$day = $date.getDate();
$(this).text(` ${$day} ${$month}`);
});
推荐阅读
- perl - 根据特定事件的最后更新日期从文件中选择一条记录
- kubernetes - Kubernetes 中相同 url 上的多个服务
- microsoft-graph-api - 当更改被“删除”时,Delta API 似乎为 OneDrive 商业帐户返回不正确的父文件夹 ID
- html - 四周边框
占据整个 div 宽度
- python - 使用 MultiIndex 创建数据透视表
- python - 累积列数据框
- reactjs - React HOC 防止道具从 index.js 转移到 app.js
- mysql - 机器存储与加入
- php - 如何检查 JSON 对象数组中的相同值并将它们组合在一起?
- docker - Docker 网络架构:隔离容器、基于主机的路由