Maison >interface Web >js tutoriel >Calculez l'heure Twitter depuis Tweet à l'aide de JavaScript

Calculez l'heure Twitter depuis Tweet à l'aide de JavaScript

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌original
2025-02-26 01:49:10851parcourir

Ce code JavaScript calcule le temps écoulé depuis une création d'un tweet, en utilisant la propriété created_at de la réponse Seech.json de l'API Twitter. Il est utile pour afficher le "temps depuis" sur un widget Twitter ou une application similaire, et peut être rafraîchi en utilisant setInterval.

Calculate Twitter Time Since Tweet using JavaScript

calculateSince Fonction:

Cette fonction prend la chaîne DateTime created_at (par exemple, "mar, 12 juin 2012 06:24:59 0000") et renvoie une chaîne lisible par l'homme représentant le temps écoulé.

<code class="language-javascript">/**
 * 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';
    }
}</code>

rafraîchissant l'affichage du temps:

Ce code utilise setInterval pour mettre à jour le "temps depuis" toutes les 30 secondes. Il suppose que vous avez des éléments de tweet avec des classes .tweet, .tweet-time et .tweet-user (contenant l'attribut created_at).

<code class="language-javascript">// 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);</code>

Questions fréquemment posées (avec des réponses concises):

La section FAQ d'origine est conservée, mais les réponses sont résumées par la brièveté.

  • Authentification API Twitter (JavaScript): Utilisez OAuth 2.0 avec une bibliothèque comme JSOAuth et les touches API du portail du développeur Twitter.
  • Tweets de planification (JavaScript): Pas directement pris en charge par l'API Twitter. Les solutions JavaScript basées sur le navigateur sont limitées par la disponibilité du navigateur.
  • Gestion des erreurs (publication de tweet): Utiliser catch les blocs dans les promesses de gérer les erreurs pendant la publication de tweet.
  • y compris les images dans les tweets: Utilisez le point de terminaison /media/upload pour télécharger, puis incluez le media_id dans le point de terminaison /statuses/update.
  • Retweeter, supprimer et autres actions: Utilisez les points de terminaison API Twitter appropriés (/statuses/retweet/:id, /statuses/destroy/:id, etc.) pour ces actions. Chaque point final a des paramètres spécifiques.
  • Retrieving retweet / like compts: Utilisez le point de terminaison /statuses/show/:id; La réponse comprend retweet_count et favorite_count.
  • Répondre aux tweets: Utilisez le point de terminaison /statuses/update avec in_reply_to_status_id et @username.
  • Obtenir l'auteur de tweet: Utilisez le point de terminaison /statuses/show/:id; La réponse comprend des informations utilisateur.

Cette réponse révisée fournit une version plus rationalisée et améliorée du code et des réponses. N'oubliez pas de remplacer les sélecteurs d'espace réservé comme #tweets .tweet par vos sélecteurs d'éléments DOM réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn