日期到字符串对象转换

Raj*_*aja 5 html javascript jquery

我使用以下代码片段将 Date 对象转换为 string 。

 var startDate = new Date();
 var result = Globalize.parseDate(startDate, "MM/DD/YYYY");
Run Code Online (Sandbox Code Playgroud)

但它会返回空值。如何将日期对象转换为字符串特定格式?

小智 0

该函数采用日期对象作为参数并返回格式为的字符串MM/DD/YYYY

function format(date) {
    return [
        ('0' + (date.getMonth() + 1)).slice(-2),
        ('0' + date.getDate()).slice(-2),
        date.getFullYear()
    ].join('/')
}
Run Code Online (Sandbox Code Playgroud)

用法示例(以MM/DD/YYYY格式给出今天的日期):

format(new Date) // "01/03/2014"
Run Code Online (Sandbox Code Playgroud)

您可以通过一些修改轻松更改结果格式:

function format(date) {
    return [
        date.getDate(),
        date.getMonth() + 1,
        ('' + date.getFullYear()).slice(-2)
    ].join('-')
}
Run Code Online (Sandbox Code Playgroud)

用法示例(以D-M-YY格式给出今天的日期):

format(new Date) // "3-1-14"
Run Code Online (Sandbox Code Playgroud)

玩弄

我对这个功能做了一些调整,这对于非常基本的需求来说可能很有趣:)

function format(date, format) {
    var i = 0, bit;
    if (!format) format = 'MM/DD/YYYY'; // default
    format = format.split(/([^DMY]+)/i);
    while (bit = format[i]) {
        switch (bit.charAt(0).toUpperCase()) {
            case 'D': format[i] = date.getDate(); break;
            case 'M': format[i] = date.getMonth() + 1; break;
            case 'Y': format[i] = date.getFullYear(); break;
        }
        if (bit.length === 2) {
            format[i] = ('0' + format[i]).slice(-2);
        }
        i += 2;
    }
    return format.join('');
}
Run Code Online (Sandbox Code Playgroud)

用法示例:

format(new Date)             // "01/03/2014" (default)
format(new Date, 'd/m/y')    // "3/1/2014"
format(new Date, 'D/M/Y')    // "3/1/2014"
format(new Date, 'DD-MM-YY') // "03-01-14"
format(new Date, 'M/YY')     // "1/14"
Run Code Online (Sandbox Code Playgroud)