tz-rs
Una reimplementación pura en Rust de las funciones libc localtime, gmtime y mktime.
Esta crate permite convertir entre un timestamp Unix y un tiempo de calendario expresado en el calendario gregoriano proléptico con una zona horaria proporcionada.
Las zonas horarias se proporcionan a la biblioteca con una cadena POSIX TZ que puede leerse del entorno.
Actualmente se aceptan dos formatos para la cadena TZ:
std offset[dst[offset][,start[/time],end[/time]]]que proporciona una descripción de la zona horaria,fileo:fileque proporciona la ruta a un archivo TZif, que es absoluta o relativa al directorio de zonas horarias del sistema.
TZ.Contexto
Las llamadas a libc localtime_r y otras funciones relacionadas desde Rust no son seguras en una aplicación multihilo, porque pueden establecer internamente la variable de entorno TZ con la función setenv, que no es segura para múltiples hilos.
Ver RUSTSEC-2020-0071 y RUSTSEC-2020-0159 para más información.
Documentación
La documentación está alojada en docs.rs.
Soporte de plataforma
Esta crate está principalmente destinada a plataformas UNIX.
Dado que los archivos de la base de datos de zonas horarias no están incluidos en esta crate, los usuarios no UNIX pueden descargar una copia de la base de datos en el sitio IANA y compilar los archivos de la base de datos de zonas horarias en un directorio local.
Los archivos de la base de datos luego pueden leerse especificando una ruta absoluta en la cadena TZ:
TimeZone::from_posix_tz(format!("{local_database_dir}/usr/share/zoneinfo/Pacific/Auckland"))?;
Tenga en cuenta que la determinación de la zona horaria local con este crate no es compatible en plataformas que no sean UNIX.Como alternativa, se puede usar un crate como tzdb, que proporciona estáticamente las definiciones de zonas horarias existentes para este crate, y admite la búsqueda de la zona horaria local para todas las plataformas Tier 1.
Formateo de fecha y hora (equivalente a la función strftime de libc)
Este crate no proporciona soporte para formateo personalizado de fecha y hora, pero se puede usar el crate custom-format para proporcionar especificadores de formato personalizados a los macros de formateo de la biblioteca estándar.
Soporte del compilador
Requiere rustc 1.85+.
Licencia
Este proyecto está licenciado bajo cualquiera de
a su elección.A menos que indique explícitamente lo contrario, cualquier contribución enviada intencionalmente para su inclusión en este proyecto por usted, según se define en la licencia Apache-2.0, estará bajo doble licencia como se indica arriba, sin términos o condiciones adicionales.
--- Tranlated By Open Ai Tx | Last indexed: 2026-07-26 ---