我打算创建一个聊天应用,其中的消息显示相对时间,如1秒前,2分钟前等。
我有以下代码
function timeDifference(current, previous) {
var msPerMinute = 60 * 1000;
var msPerHour = msPerMinute * 60;
var msPerDay = msPerHour * 24;
var msPerMonth = msPerDay * 30;
var msPerYear = msPerDay * 365;
var elapsed = current - previous;
if (elapsed < msPerMinute) {
return Math.round(elapsed/1000) + ' seconds ago';
}
else if (elapsed < msPerHour) {
return Math.round(elapsed/msPerMinute) + ' minutes ago';
}
else if (elapsed < msPerDay ) {
return Math.round(elapsed/msPerHour ) + ' hours ago';
}
else if (elapsed < msPerMonth) {
return 'approximately ' + Math.round(elapsed/msPerDay) + ' days ago';
}
else if (elapsed < msPerYear) {
return 'approximately ' + Math.round(elapsed/msPerMonth) + ' months ago';
}
else {
return 'approximately ' + Math.round(elapsed/msPerYear ) + ' years ago';
}
}
我需要比较用户计算机的时间戳和我数据库中的其他用户时间戳。
如果user1从美国连接并且user2从俄罗斯连接,那么时间戳是相同还是不同?如果它们不同,那么创造相对时间的方式是什么?
答案 0 :(得分:0)
Javascript将在其运行的系统上创建时间戳,因此对于美国系统,它将使用其时区。
另外php时间和javascript之间存在差异:
startLive = new Date(<?php echo strtotime($start_date)*1000; ?>);
说明:
PHP的strtotime函数返回一个Unix时间戳(自午夜1-1-1970以来的秒数)。
Javascript的Date()函数可以通过指定自午夜1-1-1970之后的毫秒来实例化。
因此,将秒乘以1000得到毫秒数,您可以在Javascript中使用它。