[Import/Export] Format an instant in an IANA timezone
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 72/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- web-dev
Línea de trabajo
Empieza en src/lib/ics/dateTime.ts, que se espera que el prerrequisito #788 cree o amplíe, y lee src/lib/domain/section.ts como ejemplo de partida. Añade formatInstant(date, timeZone) usando Intl.DateTimeFormat con un timeZone explícito y luego comprueba que src/lib/ics/dateTime.test.ts cubre los ejemplos New_York y UTC y una zona no válida. Está terminado cuando pnpm test -- src/lib/ics/dateTime.test.ts, pnpm lint y pnpm typecheck pasan.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What to build
Format one exact moment using an explicitly chosen timezone. Calendar export must use that choice rather than the timezone or language settings of the contributor’s computer.
Files
src/lib/ics/dateTime.ts(extend the prerequisite’s file)- Starting example: src/lib/domain/section.ts
Code to add or extend:formatInstant(date: Date, timeZone: string): string.
Steps
- Use
Intl.DateTimeFormatwith explicit timeZone, numeric date/time parts and hourCycle h23. - Assemble formatToParts output using the existing formatter; append Z only when output timezone is UTC.
- Let an invalid IANA zone yield a clear error; do not rely on the computer locale.
Example
Date 2026-08-12T13:10:00Z/New_York → 20260812T091000; UTC → 20260812T131000Z.
Check it works
In src/lib/ics/dateTime.test.ts, check the example above and the failure or limit described in the steps. Run pnpm test -- src/lib/ics/dateTime.test.ts, pnpm lint and pnpm typecheck.
Before starting
- #788 — Format local calendar date and time
References
Assign yourself before starting, or comment to claim the issue. Project setup.
- Lenguaje dominante
- TypeScript
- Estrellas
- 19
- Forks
- 94
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de DevDogsUGA/DogDays
-
map
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
DevDogsUGA/DogDays#868 ·
-
map
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
DevDogsUGA/DogDays#865 ·
-
sharing
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
DevDogsUGA/DogDays#854 ·
-
import-export
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
DevDogsUGA/DogDays#850 ·
-
import-export
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
DevDogsUGA/DogDays#842 ·
Todos los issues de DevDogsUGA/DogDays
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Chocobozzz/PeerTube#7832 ·
Los mantenedores suelen responder en 3 días
-
Pay to use?Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 66/100
darkreader/darkreader#16108 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Add: Dak Nong TV SDAbiertocheck:passed streams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
bug engine
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
frostney/GocciaScript#1746 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
agilepathway/label-checker#739 · 4 comentarios ·
Los mantenedores suelen responder en 1 día