ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScriptを使用してツイートしてからTwitter時間を計算します

JavaScriptを使用してツイートしてからTwitter時間を計算します

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-26 01:49:10
オリジナル
835 人が閲覧しました

このJavaScriptコードは、Twitter APIのSearch.JSON応答の

プロパティを使用して、ツイートが作成されてから経過した時間を計算します。 Twitterウィジェットまたは同様のアプリケーションに「時間」を表示するのに役立ち、created_atsetInterval

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秒ごとに「時間」を更新します。 クラスのツイート要素があると仮定しています

、および

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);
ログイン後にコピー
元のFAQセクションが保持されますが、回答は簡潔に要約されています。

Twitter API Authentication(JavaScript):

ツイートのスケジューリング(javascript):

Twitter APIで直接サポートされていません。 ブラウザベースのJavaScriptソリューションは、ブラウザアップタイムによって制限されます
  • エラー処理(ツイートの投稿):ツイートの投稿中にエラーを処理することを約束内のブロックを使用してください。
  • ツイートに画像を含む:endpointを使用してアップロードし、
  • エンドポイントに
  • を含めます。 これらのアクションには、catchリツイート、削除、およびその他のアクションを使用します。 各エンドポイントには特定のパラメーターがあります
  • retweet/like countsを取得:endpointを使用します。応答には/media/uploadおよびmedia_id/statuses/updateが含まれます
  • ツイートへの返信:エンドポイントを使用して/statuses/retweet/:idおよび/statuses/destroy/:id
  • ツイート著者を取得する:/statuses/show/:idendpointを使用します。応答には、ユーザー情報が含まれます。retweet_count favorite_count
  • この改訂された応答は、コードと回答のより合理化され改善されたバージョンを提供します。
  • などのプレースホルダーセレクターを実際のDOM要素セレクターに置き換えることを忘れないでください。

以上がJavaScriptを使用してツイートしてからTwitter時間を計算しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート