如何根据日期的长度将 YYYYMMDD 形式的日期转换为 MM/DD/YYYY 或 MM/D/YYYY

How can I convert a date coming in as YYYYMMDD into MM/DD/YYYY or MM/D/YYYY depending on its length

我从 API 收到回复,需要将该回复以不同的格式传递给另一个 API header。

从第一个 api 开始,我得到一个 YYYYMMDD 的日期,我需要以 MM/DD/YYYY.[=20= 的格式将其作为 header 传递]

一些条件是,如果日期是单个数字 (1-9),则应将其转换为这种格式 MM/D/YYYY。如果天是两位数,应该是这种格式 MM/DD/YYYY.

2 个例子是:

我无法使用moment js

我怎样才能做到这一点?

您可以使用 Moment.js 库来快速轻松地转换数据。

喜欢

var date = moment("19991020", "YYYYMMDD");
date.format("MM/DD/YYYY"); // 10/20/1999 

更多详情请查看Moment.js

如果您想在不使用库的情况下本地执行此操作,这也很简单:

function convertDate(input) {
    var year = input.substring(0, 4);
    var month = input.substring(4, 6);
    var day = input.substring(6);

    return month + "/" + day + "/" + year;
}

使用该函数获取日期 运行:

var date = convertDate("1999101"); // "10/1/1999"