Kod JavaScript ini mengira masa yang berlalu sejak tweet dibuat, menggunakan harta created_at
dari Twitter API's Search.JSON Response. Ia berguna untuk memaparkan "masa sejak" pada widget Twitter atau aplikasi yang serupa, dan boleh disegarkan dengan menggunakan setInterval
.
Fungsi: calculateSince
DateTime (mis., "Tue, 12 Jun 2012 06:24:59 0000") dan mengembalikan rentetan yang boleh dibaca manusia yang mewakili masa berlalu. 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'; } }
menyegarkan paparan masa:
Kod ini menggunakan untuk mengemas kini "masa sejak" setiap 30 saat. Ia menganggap anda mempunyai elemen tweet dengan kelas setInterval
, .tweet
, dan .tweet-time
(mengandungi atribut .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);
soalan yang sering ditanya (dengan jawapan ringkas):
Bahagian FAQ asal dikekalkan, tetapi jawapan diringkaskan untuk keringkasan.
catch
/media/upload
di media_id
endpoint. /statuses/update
/statuses/retweet/:id
, dan lain -lain) untuk tindakan ini. Setiap titik akhir mempunyai parameter tertentu. /statuses/destroy/:id
/statuses/show/:id
dan retweet_count
. favorite_count
/statuses/update
dan in_reply_to_status_id
. @username
/statuses/show/:id
dengan pemilih elemen DOM sebenar anda. #tweets .tweet
Atas ialah kandungan terperinci Kirakan masa twitter sejak tweet menggunakan JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!