如何将日期更改事件转换为特定格式
how to convert, date change event into particular format
我在我的网站上有日期,我正在使用 daterangepicker 和 moment 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'));
});
所以当我从视图日历更改 select 今天的日期时,我进入了上述更改事件,但我的输出将是
changed start date May 21, 2017
changed end date May 22, 2017
这里我想要类似于 1492930351644
的输出或日期格式,如 moment().subtract(29, 'days')
所示,但我不知道如何实现。有帮助吗?
您想将 unix ms 时间戳格式保存为 data-
属性。你做得对,你只需要像这样使用 format
date 函数:
moment.utc(startDateCal).format('x') // get the unix timestamp format
或者当你读回数据时,你应该从中创建一个 moment 对象并使用 valueOf
来获取数字格式:
moment(dates.getData('startDateCal')).valueOf()
您目前使用的似乎是固定的 startDateCal
和 endDateCal
。我建议你在回调函数中使用 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'));
});
尝试将 .format('LL')
更改为 .format('x')
即
var startDate_1 = moment.utc(startDateCal).format('x');
var endDate_1 = moment.utc(endDateCal).format('x');
我在我的网站上有日期,我正在使用 daterangepicker 和 moment 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'));
});
所以当我从视图日历更改 select 今天的日期时,我进入了上述更改事件,但我的输出将是
changed start date May 21, 2017
changed end date May 22, 2017
这里我想要类似于 1492930351644
的输出或日期格式,如 moment().subtract(29, 'days')
所示,但我不知道如何实现。有帮助吗?
您想将 unix ms 时间戳格式保存为 data-
属性。你做得对,你只需要像这样使用 format
date 函数:
moment.utc(startDateCal).format('x') // get the unix timestamp format
或者当你读回数据时,你应该从中创建一个 moment 对象并使用 valueOf
来获取数字格式:
moment(dates.getData('startDateCal')).valueOf()
您目前使用的似乎是固定的 startDateCal
和 endDateCal
。我建议你在回调函数中使用 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'));
});
尝试将 .format('LL')
更改为 .format('x')
即
var startDate_1 = moment.utc(startDateCal).format('x');
var endDate_1 = moment.utc(endDateCal).format('x');