令人难以置信的奇怪的JavaScript日期问题

时间:2013-08-02 14:41:16

标签: javascript linux node.js date

代码:

function format_date( date, index )
{
    if ( !date || ( index && !( date[ index ] ) ) )
    {
        return '';
    }

    console.log( date );

    var date = new Date(
        ( index === undefined ) ? date : date[ index ]
    );

    console.log( date );


    return ( date.getMonth() + 1 ) + '/' +
        date.getDate() + '/' +
        date.getFullYear() + ' 12:00 AM'
    ;
};

format_date( "2013-07-25" );

输出:

2013-07-25
Date {Wed Jul 24 2013 20:00:00 GMT-0400 (Eastern Standard Time)}
"7/24/2013 12:00 AM"

这是在Linux上运行的节点JS服务器上。 date的输出是:

Fri Aug  2 10:39:28 EDT 2013

1 个答案:

答案 0 :(得分:2)

除非您指定时区偏移量,否则它会假定您的日期是格林威治标准时间。