如何将日期更改事件转换为特定格式

时间:2017-05-22 07:03:18

标签: javascript jquery date momentjs daterangepicker

我在我的网站上有约会,我使用daterangepicker和时刻js使用日期。现在我对所有这些事情都很陌生。其中一个变量设置日期为

moment().subtract(29, 'days') 

console.log结果为1492930351644, 同样moment()会产生1495435951644

现在由我想要的用户进行手动更改,以更新此值但是我不知道如何使用它。我使用了jQuery事件,如下所示

$('#dateRange').on('apply.daterangepicker', function(ev, picker) {
    var startDate_1 = moment.utc(startDateCal).format('LL');
    var endDate_1 = moment.utc(endDateCal).format('LL');

    dates.setData('startDateCal',startDate_1);  
    dates.setData('endDateCal',endDate_1); 

    console.log(" changed start date "+dates.getData('startDateCal'));
    console.log(" changed end date "+dates.getData('endDateCal'));

});

因此当我从视图日历中更改并选择日期时,我将进入上述更改事件,但我的输出将是

 changed start date May 21, 2017
 changed end date May 22, 2017

在这里,我希望1492930351644显示类似于moment().subtract(29, 'days')的输出或日​​期格式,但我不知道如何才能实现这一目标。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

尝试此更改。format('LL').format('x')

var startDate_1 = moment.utc(startDateCal).format('x');
var endDate_1 = moment.utc(endDateCal).format('x');

答案 1 :(得分:-1)

您希望将unix ms时间戳格式另存为data-属性。你做得对,你只需要使用format date这样的功能:

moment.utc(startDateCal).format('x') // get the unix timestamp format

或者当您回读数据时,您应该从中创建一个时刻对象并使用valueOf来获取数字格式:

moment(dates.getData('startDateCal')).valueOf()

您好像正在使用固定的startDateCalendDateCal。我建议你使用回调函数中的picker属性来从picker本身获取实际日期,如下所示:

$('#dateRange').on('apply.daterangepicker', function(ev, picker) {
    var startDate_1 = picker.startDate.format('x');
    var endDate_1 = picker.endDate.format('x');

    dates.setData('startDateCal',startDate_1);
    dates.setData('endDateCal',endDate_1);

    console.log(" changed start date "+dates.getData('startDateCal'));
    console.log(" changed end date "+dates.getData('endDateCal'));

});