此JavaScript代码使用Twitter API的search.json响应中的created_at
>。setInterval
刷新
函数:calculateSince
>
created_at
/** * Calculates the time elapsed since a tweet was created. * @param {string} datetime - The 'created_at' datetime string from the Twitter API. * @return {string} - A human-readable string showing the time elapsed. */ function calculateSince(datetime) { const tweetTime = new Date(datetime); const currentTime = new Date(); const minutesElapsed = Math.round((currentTime - tweetTime) / 60000); if (minutesElapsed === 0) { const secondsElapsed = Math.round((currentTime - tweetTime) / 1000); if (secondsElapsed < 10) return 'less than 10 seconds ago'; if (secondsElapsed < 20) return 'less than 20 seconds ago'; return 'half a minute ago'; } else if (minutesElapsed === 1) { return '1 minute ago'; } else if (minutesElapsed < 45) { return minutesElapsed + ' minutes ago'; } else if (minutesElapsed < 1440) { // Less than a day const hoursElapsed = Math.round(minutesElapsed / 60); return 'about ' + hoursElapsed + ' hours ago'; } else if (minutesElapsed < 2880) { // Less than 2 days return '1 day ago'; } else { const daysElapsed = Math.round(minutesElapsed / 1440); return daysElapsed + ' days ago'; } }
此代码使用
来更新每30秒以来的“时间”。 它假设您具有class,setInterval
和.tweet
>的推文元素(包含.tweet-time
>属性)。.tweet-user
created_at
// Auto-refresh interval to update time since tweeted setInterval(() => { console.log('Updating time since...'); const tweets = $('#tweets .tweet'); tweets.each((index, tweetElement) => { $(tweetElement).find('.tweet-time').html(calculateSince($(tweetElement).find('.tweet-user').attr('created_at'))).fadeIn(); }); }, 30000);
保留了原始的常见问题部分,但以简短的方式总结了答案。
>> Twitter API Authentication(JavaScript):
使用oauth 2.0与Twitter开发人员Portal的JSOAUTH和API键的库2.0。catch
> endpoint中包含/media/upload
等)。 每个端点都有特定的参数。media_id
/statuses/update
/statuses/retweet/:id
>回复推文:/statuses/destroy/:id
使用/statuses/show/:id
获取推文作者:retweet_count
使用favorite_count
> endpoint;响应包括用户信息。以上是自从使用JavaScript推文以来,计算Twitter时间的详细内容。更多信息请关注PHP中文网其他相关文章!