---
name: format_simplified
kind: function
lang: py
domain: core
version: "1.0.0"
purity: pure
signature: "format_simplified(dt: datetime, now: datetime) -> str"
description: "Formato humano simplificado: si dt es del mismo dia que now muestra HH:MM:SS, si no muestra YYYY-MM-DD."
tags: [datetime, format, time, human, display]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: ["datetime"]
params:
  - name: dt
    desc: "datetime a formatear"
  - name: now
    desc: "datetime actual para comparacion"
output: "string con formato humano simplificado: HH:MM:SS si mismo dia, YYYY-MM-DD si otro dia"
tested: true
tests:
  - "mismo dia muestra formato hora"
  - "dia anterior muestra formato fecha"
  - "exactamente 24h muestra formato fecha"
test_file_path: "python/functions/core/format_simplified_test.py"
file_path: "python/functions/core/format_simplified.py"
---

## Ejemplo

```python
from datetime import datetime
from format_simplified import format_simplified

now = datetime(2026, 2, 21, 15, 0, 0)

# Mismo dia
s = format_simplified(datetime(2026, 2, 21, 9, 30, 0), now)
# "09:30:00"

# Dia anterior
s = format_simplified(datetime(2026, 2, 20, 9, 30, 0), now)
# "2026-02-20"
```

## Notas

Algoritmo:
1. Remover tzinfo de ambos datetimes para comparacion simple (`replace(tzinfo=None)`).
2. Si `(now - dt).days < 1`: retornar `dt.strftime("%H:%M:%S")`.
3. Si no: retornar `dt.strftime("%Y-%m-%d")`.

El umbral de 1 dia en `timedelta.days` significa que cualquier diferencia
menor a 24 horas se muestra como hora. Un dt exactamente 24h atras
tendra `days == 1`, mostrando fecha.

Funcion pura. No hace I/O ni tiene efectos secundarios.
