首頁 > web前端 > js教程 > 自從使用JavaScript推文以來,計算Twitter時間

自從使用JavaScript推文以來,計算Twitter時間

尊渡假赌尊渡假赌尊渡假赌
發布: 2025-02-26 01:49:10
原創
835 人瀏覽過

此JavaScript代碼使用Twitter API的search.json響應中的屬性來計算創建推文以來經過的時間。 這對於在Twitter小部件或類似應用程序上顯示“時間”很有用,並且可以使用created_at>。 setInterval刷新

Calculate Twitter Time Since Tweet using JavaScript

函數:calculateSince

此功能採用DateTime字符串(例如,“ Tue,2012年6月12日)06:24:59 0000”),並返回一個代表經過時間的人類可讀字符串。

> 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。
  • >調度推文(JavaScript):不直接由Twitter API支持。 基於瀏覽器的JavaScript解決方案受瀏覽器正常運行時間的限制。 > >
  • 錯誤處理(推文發布):
  • >使用塊,承諾在推文發布期間處理錯誤。 在推文中包含圖像:
  • >:>使用端點上傳,然後在catch> endpoint中包含
  • >。
  • 轉發,刪除和其他操作:對這些操作使用適當的Twitter API端點(/media/upload等)。 每個端點都有特定的參數。 media_id /statuses/update
  • >檢索轉發/喜歡計數:使用/statuses/retweet/:id>回复推文:/statuses/destroy/:id使用
  • /statuses/show/:id獲取推文作者:retweet_count使用favorite_count> endpoint;響應包括用戶信息。
  • >此修訂後的響應提供了代碼和答案的更簡化和改進的版本。 切記用實際的DOM元素選擇器替換佔位符選擇器。 >

以上是自從使用JavaScript推文以來,計算Twitter時間的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板