以下是两种常见的实现方式:
- 使用 JavaScript 内置的 Date 对象
JavaScript 内置了 Date 对象,可以用于处理日期和时间。我们可以将后端返回的时间戳字符串转换为 Date 对象,然后再通过 Date 对象提供的方法获取年月日信息,最后组合成新的日期字符串即可。
// 将带有秒的时间戳字符串转换为 Date 对象
const date = new Date("2022-05-12 16:30:45");
// 获取年、月、日信息
const year = date.getFullYear();
const month = date.getMonth() + 1;
// 注意:getMonth() 返回的月份是从 0 开始的
const day = date.getDate();
// 最后组合成新的日期字符串,以横线 "-" 分隔
const formattedDate = `${year}-${month.toString().padStart(2, '0')}-${day.toString().padStart(2, '0')}`; console.log(formattedDate);
// 输出:2022-05-12
上述代码中,用到了 padStart() 方法,它可以在字符串的左侧添加指定的字符,直到字符串的长度达到指定的长度。这里在月份和日期前面添加 "0",确保它们是两位数格式。
- 使用日期处理库 moment.js
moment.js 是一款广泛使用的日期处理库,提供了很多方便的日期处理方法。我们可以使用它的 parse() 和 format() 方法来实现将后端返回的时间戳字符串转换为仅包含年月日的格式。
// 引入 moment.js 库
import moment from 'moment';
// 将带有秒的时间戳字符串用 moment.js 解析为日期对象
const date = moment("2022-05-12 16:30:45");
// 使用 format() 方法获取仅包含年月日的格式
const formattedDate = date.format("YYYY-MM-DD");
console.log(formattedDate);
// 输出:2022-05-12
上述代码中,我们使用 moment() 方法将后端返回的时间戳字符串解析为日期对象,然后使用 format() 方法获取仅包含年月日的格式,具体格式可以参考 moment.js 官方文档。