Javascript将日期转换为不同的格式

时间:2014-12-31 16:05:00

标签: javascript date

我有一个日期选择器,其格式为31-Dec-2014,因为这是我们工具中每个人都熟悉的格式。

我正在尝试将其转换为mm/dd/yyyy格式的JavaScript日期对象,但我遇到了一些麻烦。

我尝试了一些像var startDate = new Date('31-Dec-2014');这样简单但却输出无效日期的内容。

我知道有像date.jsmoment.js这样的插件,但我觉得如果没有它就会很简单。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用Date的3个参数版本,并将月份代码翻译为正确的数字,例如

function myDate(input) {
    var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
    input = input.split('-');
    input[1] = months.indexOf(input[1]);
    return new Date(+input[2], +input[1], +input[0]);
}

myDate('31-Dec-2014'); // Wed Dec 31 2014 00:00:00 GMT+0000 (GMT Standard Time)

请记住所有日期都是在客户的本地时区生成的,您可能需要使用 UTC 方法。