gpt4 book ai didi

javascript - 需要帮助调整重新格式化的日期

转载 作者:行者123 更新时间:2023-12-01 15:38:14 26 4
gpt4 key购买 nike

我有一个通过 API 从 mySQL 数据库收到的日期。该日期以预期的 mySQL 格式出现:yyyy-MM-dd。然后,我使用以下 JS 将其重新格式化为 MM-dd-yyyy:

const date = data.dateOfService;
const [year, month, day] = date.split('-');
const dateObj = {month, day, year};
value = (dateObj.month + '-' + dateObj.day + '-' + dateObj.year);
其中 value 是 form.io 中正在进行计算/脚本的字段。无论如何,问题是我实际上需要显示原始 MySQL 日期的前一天。
yyyy-MM-dd -1 => MM-dd-yyyy
有谁知道如何解决这个问题?我很难过。

最佳答案

使用您的 year , month , 和 day变量来创建一个日期对象。从该日期对象中减去一个并将其包装在另一个日期对象中。然后使用日期对象上的函数来提取所需的字符串。
对于下面的代码,知道在 javascript January = 0 中会有所帮助。

const date = '2020-01-01';
const [year, month, day] = date.split('-');

let dt = new Date(new Date(year, month - 1, day) - 1);

console.log(`${dt.getMonth()+1}-${dt.getDate()}-${dt.getFullYear()}`);

我特意选了1月1日。您可以看到它正确回滚到上一年的 12 月 31 日。

如果您需要用前导零填充月份和日期,则可以使用 padStart() .它不是那么漂亮,但可以解决问题:
(dt.getMonth()+1).toString().padStart(2,0) + '-' + 
dt.getDate().toString().padStart(2,0) + '-' +
dt.getFullYear();

关于javascript - 需要帮助调整重新格式化的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63417916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com