Soporte de The Movie Database

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 respuestas (en la página 1 de 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!!

¿No encuentras una película o serie? Inicia sesión para crearla:

Global

s centrar la barra de búsqueda
p abrir menú de perfil
esc cierra una ventana abierta
? abrir la ventana de atajos del teclado

En las páginas multimedia

b retrocede (o a padre cuando sea aplicable)
e ir a la página de edición

En las páginas de temporada de televisión

(flecha derecha) ir a la temporada siguiente
(flecha izquierda) ir a la temporada anterior

En las páginas de episodio de televisión

(flecha derecha) ir al episodio siguiente
(flecha izquierda) ir al episodio anterior

En todas las páginas de imágenes

a abrir la ventana de añadir imagen

En todas las páginas de edición

t abrir la sección de traducción
ctrl+ s enviar formulario

En las páginas de debate

n crear nuevo debate
w cambiar el estado de visualización
p cambiar público/privado
c cambiar cerrar/abrir
a abrir actividad
r responder al debate
l ir a la última respuesta
ctrl+ enter enviar tu mensaje
(flecha derecha) página siguiente
(flecha izquierda) página anterior

Configuraciones

¿Quieres puntuar o añadir este elemento a una lista?

Iniciar sesión