Assistance de TMDB

I would like to create an algorithm that searches for **decades **and not specific years.

For example, the 80s should return movies released in 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988 and 1989, totaling 10 years.

I have written about three different algorithms and they never work, they always return a specific year in the API.

Is this an API limitation or my stupidity?

Some code I tried:

<optgroup label="Décadas">
                      {Array.from({ length: 10 }, (_, i) => {
                        const decade = Math.floor(new Date().getFullYear() / 10) * 10 - i * 10;
                        return (
                          <option key={`decade-${decade}`} value={`${decade}`}>
                            Década de {decade}
                          </option>
                        );
                      })}
 </optgroup>
export function getDecadeRange(decade: string): { startYear: string; endYear: string } {
  // Verificar se é um valor de década (30, 40, etc) ou um ano específico (1977, 2022, etc)
  // Décadas são representadas por 2 dígitos
  if (decade.length === 2) {
    const decadeNum = parseInt(decade, 10);
    // Para décadas do século 20 (antes de 2000)
    if (decadeNum < 20) { // Assumindo que décadas de 00-19 são do século 21
      return {
        startYear: `20${decade}`, // ex: 00 -> 2000
        endYear: `20${decade}9`   // ex: 00 -> 2009
      };
    } else {
      return {
        startYear: `19${decade}`, // ex: 90 -> 1990
        endYear: `19${decade}9`   // ex: 90 -> 1999
      };
    }
  }

If I choose 70s, the API returns "year": "1970", and it should return "year": "1970, 1971, 1972...",

2 réponses (sur la page 1 sur 1)

Jump to last post

@the-physicist said:
Algorithm to return decades and not specific years
I would like to create an algorithm that searches for decades **and not specific years.
For example, the 80s should return movies released in **1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988 and 1989
, totaling 10 years.
I have written about three different algorithms and they never work, they always return a specific year in the API.
Is this an API limitation or my stupidity?`

If I choose 70s, the API returns "year": "1970", and it should return "year": "1970, 1971, 1972...",

Using Discover,
https://developer.themoviedb.org/reference/discover-movie
specify a date range using the filters
"primary_release_date.gte" and "primary_release_date.lte".
For example, the 1970s.
&primary_release_date.gte=1970-01-01
&primary_release_date.lte=1979-12-31

https://api.themoviedb.org/3/discover/movie?language=en&page=1&primary_release_date.gte=1970-01-01&primary_release_date.lte=1979-12-31&sort_by=primary_release_date.asc

And use the filter &sort_by=primary_release_date.asc.

Thank you, it worked!!

Un film, une émission télévisée ou un artiste est introuvable ? Connectez-vous afin de créer une nouvelle fiche.

Général

s Mettre le curseur dans la barre de recherche
p Ouvrir le menu du profil
esc Fermer une fenĂŞtre ouverte
? Ouvrir la fenĂŞtre des raccourcis clavier

Sur les pages des médias

b Retour (ou vers le parent si faisable)
e Afficher la page de modification

Sur les pages des saisons des émissions télévisées

Afficher la saison suivante (flèche droite)
Afficher la saison précédente (flèche gauche)

Sur les pages des épisodes des émissions télévisées

Afficher l'épisode suivant (flèche droite)
Afficher l'épisode précédent (flèche gauche)

Sur toutes les pages des images / photos

a Ouvrir la fenĂŞtre d'ajout d'image / photo

Sur toutes les pages de modifications

t Ouvrir le sélecteur de traduction
ctrl+ s Envoyer le formulaire

Sur les pages des discussions

n Créer une nouvelle discussion
w Basculer le statut de suivi
p Basculer publique / privée
c Basculer fermer / ouvrir
a Ouvrir l'activité
r Répondre à la discussion
l Afficher la dernière réponse
ctrl+ enter Envoyer votre message
Page suivante (flèche droite)
Page précédente (flèche gauche)

Paramètres

Vous souhaitez évaluer ou ajouter cet élément à une liste ?

Connexion