如何在将日期传递给服务时支持多种格式

时间:2016-03-04 17:12:50

标签: javascript angularjs datepicker

我的问题是支持从我的视图提交的日期输入的多种格式。

例如,如果用户提交出生日期为03/04/2016,则会解析并正常工作。

我需要允许用户提交上述内容,或者2016年3月4日,或者甚至是342016。

这就是我将它设置为在我的控制器中作为有效载荷的一部分进行转换和发送的方式。

DateOfBirth: (new Date($scope.dob)).toJSON()

如上所述,使用03/04/2016格式时工作正常,但如果用户也进入其他方式,我需要支持。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:0)

你可以尝试这个lib

MOMENT.JS

在JavaScript中解析,验证,操作和显示日期。

moment().format('L');    // 03/04/2016
moment().format('l');    // 3/4/2016
moment(any date).format('DDMMYYYY') // you can to combine format output
moment("12-25-1995", "MM-DD-YYYY");

UI-MASK

答案 1 :(得分:0)

如果日期中有分隔符,则可能会有效。

var app = require('../server/server');

app.models.product.find({}, (err, result) => {
    console.log('result', result);
    //Do data cleanup
    console.log('done now');
});

如果日期中没有分隔符,我认为除非日期长度恰好为6或8位,否则我认为没有一般处理方式。