introducción
Hoy, al verificar el punto de tiempo de un país africano transmitido desde un front-end, la depuración local pasó la verificación normal, pero después de implementarse en el servidor, la verificación falló, lo que se siente muy extraño. Así que verifiqué el código fuente de una función clave utilizada y descubrí que al cargar la zona horaria, se utilizarán los datos de la base de datos de zonas horarias (consulte el artículo anterior "Base de datos de zonas horarias de IANA y explicación detallada de ZONEINFO"). Golang como ejemplo, cárguelo de la siguiente manera Las funciones de zona horaria utilizan datos de la base de datos de zona horaria:
time.LoadLocation("Africa/Cairo")
En el sistema Linux, la ubicación de la base de datos de zona horaria es /usr/share/zoneinfo.
¿Qué es tzdata?
El nombre completo del paquete de software tzdata es datos de zona horaria y horario de verano (DST), que se instala para que cada sistema Linux lea los datos en la base de datos de zona horaria. La base de datos de zonas horarias, tz o tzinfo para abreviar, es un conjunto de códigos y datos que representan el historial temporal de varios lugares del mundo, actualmente mantenido por IANA.
tzdata puede tener diferentes implementaciones en diferentes plataformas, generalmente en la carpeta zoneinfo, que contiene archivos de información para todas las zonas horarias. En los sistemas Linux, esta carpeta generalmente se encuentra en /usr/share/zoneinfo.
Al usar tzdata, las aplicaciones y los sistemas operativos pueden cambiar automáticamente las zonas horarias según su ubicación y la configuración seleccionada. Esto es fundamental para las empresas internacionales y las aplicaciones globales que abarcan diferentes zonas horarias.
actualizar tzdata
Debido a que la base de datos de zona horaria se actualizará a medida que cambie la zona horaria del país o región en la tierra, la base de datos de zona horaria en el servidor también debe mantenerse actualizada a la última versión.
Tome Debian/Ubuntu como ejemplo, primero configúrelo como no interactivo e instálelo de acuerdo con el método predeterminado:
export DEBIAN_FRONTEND=noninteractive
actualizar la fuente de descarga
apt-get update
Instalar o actualizar tzdata
apt-get install -y tzdata
Por cierto, permítanme presentarles cómo configurar la zona horaria. Para configurar la zona horaria en East Eighth District, ejecute el siguiente comando:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime