我是JavaScript的新手并且已经做了一些研究,但是我找不到相对简单问题的直接解决方案。我有以下var:
@Override
public void bindViewHolder(ViewHolder holder, int position) {
if(position == separatorPosition){
holder.separatorView.visible = View.VISIBLE;
}else{
holder.separatorView.visible = View.GONE;
}
}
我需要在几秒钟内获得现在和var recordDate = '2016-04-20 17:52:33';
之间的差异。实现它的最有效方法是什么?
答案 0 :(得分:2)
尝试首先将recordDate转换为日期对象
var match = recordDate.match(/^(\d+)-(\d+)-(\d+) (\d+)\:(\d+)\:(\d+)$/);
var date = new Date(match[1], match[2] - 1, match[3], match[4], match[5], match[6]);
var currentDate = new Date();
var differenceInSeconds = Math.abs(date.getTime() - currentDate.getTime())/1000;
<强>样本强>
var recordDate = '2016-04-20 17:52:33';
var match = recordDate.match(/^(\d+)-(\d+)-(\d+) (\d+)\:(\d+)\:(\d+)$/);
var date = new Date(match[1], match[2] - 1, match[3], match[4], match[5], match[6]);
alert(date.toString());
var currentDate = new Date();
var differenceInSeconds = Math.abs(date.getTime() - currentDate.getTime())/1000;
alert(differenceInSeconds);
&#13;
答案 1 :(得分:1)
设置日期记录如下:
var recordDate = new Date('2016-04-20 17:52:33');
var currentTime = new Date();
然后像这样计算:
(currentTime - recordDate) / 1000 = {Seconds in between}
其他评论:
我没有使用abs
的其他原因是因为看起来它的目的就像在stackoverflow中显示的那样 - edited 5 seconds ago
或类似的,当currentTime
永远不会少于记录日期,因此减少一次计算和依赖。