我正在使用Moment.js插件,并且我有HTML。
我想要计算从data-date属性到data-completion-date属性经过的时间百分比,但是这些日期在Firefox或IE中无法使用,但在Chrome中可以。我可以使用以下代码从日期中获取时间:
但是它只在Chrome中有效,我在这里漏掉了什么吗? 日期从mysql数据库datetime字段中提取。
在Firefox和IE中我得到了'NaN'。 答案:
最新版本的Chrome、Firefox和IE都支持此功能。
<div class="record-time pull-right" data-date="2013-09-22 20:16:39"
data-completion-date="2019-08-07 00:00:00">
</div>
我想要计算从data-date属性到data-completion-date属性经过的时间百分比,但是这些日期在Firefox或IE中无法使用,但在Chrome中可以。我可以使用以下代码从日期中获取时间:
moment(new Date(record_time.attr('data-date'))).fromNow()
但是它只在Chrome中有效,我在这里漏掉了什么吗? 日期从mysql数据库datetime字段中提取。
在Firefox和IE中我得到了'NaN'。 答案:
var record_time = $(this).find('.record-time');
var creation_date = $(this).find('.record-time').data('date');
var completion_date = $(this).find('.record-time').data('completion-date');
// get percentage completed (now - startDate) / (endDate - startDate)
now = moment();
startDate = moment(creation_date);
endDate = moment(completion_date);
var percentage_complete = (now - startDate) / (endDate - startDate) * 100;
var percentage_rounded = (Math.round(percentage_complete * 100) / 100);
// percentage rounded to 2 decimal points
// set the progress bar percentages
var record_progress = $(this).find('.bar');
record_progress.css('width', percentage_rounded+'%');
record_progress.html(percentage_rounded+'% - Completed');
最新版本的Chrome、Firefox和IE都支持此功能。
data('date')
而不是attr()
。 - Ian Brindleydata('date')
在某些版本的IE上无法正常工作。 - Daniel Gimenez