Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

date input: unrecognized trailing tokens rejected (e.g. `8j`, `8 j`)

Abierto
#279 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

  • #286 de @0xSoftBoi — cerrado sin fusionar

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
65/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
rust
Área
backend

Línea de trabajo

Comienza en el punto de entrada parse_datetime e inspecciona cómo se manejan los tokens de palabras finales; después, revisa la prueba propuesta en la suite de integración de uutils/coreutils. Ejecuta los casos de date para "8j" y "8 j" en la reproducción; se considera terminado cuando ambas entradas tienen éxito y producen 08:00:00, mientras las pruebas de parsing existentes siguen pasando.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug good first issue

Summary

GNU date silently ignores unrecognized trailing word-tokens and parses the preceding number as an hour. parse_datetime errors out instead.

Found by a fuzz_date run on uutils/coreutils.

Reproduction

$ TZ=UTC /usr/bin/date -u -d '8j' '+%H:%M:%S'
08:00:00
$ echo $?
0

$ TZ=UTC target/debug/coreutils date -u -d '8j' '+%H:%M:%S'
date: invalid date '8j'
$ echo $?
1

$ TZ=UTC /usr/bin/date -u -d '8 j' '+%H:%M:%S'
08:00:00

$ TZ=UTC target/debug/coreutils date -u -d '8 j' '+%H:%M:%S'
date: invalid date '8 j'

Test (in uutils/coreutils integration suite)

#[test]
fn test_date_ignores_unrecognized_trailing_tokens() {
    for input in ["8j", "8 j"] {
        new_ucmd!()
            .env("TZ", "UTC")
            .arg("-u")
            .arg("-d")
            .arg(input)
            .arg("+%H:%M:%S")
            .succeeds()
            .stdout_only("08:00:00\n");
    }
}
Lenguaje dominante
Rust
Estrellas
37
Forks
44
Merge medio
2 d 15 h
PR fusionados (30 d)
8

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de uutils/parse_datetime

Todos los issues de uutils/parse_datetime

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.