Hay múltiples motivos y soluciones.
En principio, si Weewx arranca como servicio con systemd debería quedarse esperando hasta que el servicio de sincronizacion de tiempo este funcionando.
¿Como se está iniciando con systemd o con init.d?
Si no quieres meterte en líos con systemd o init.d puedes hacer lo siguiente, siempre que sea una Raspberri Pi.
En las opciones del sistema, hay una opcion para que el sistema operativo de la Raspi no funcione hasta que sincronice la hora.
Se hace con
sudo raspi-config
En System options, habilita Netwok at boot
Con ello debe esperar hasta que haya conexion a internet. Eso facilita la sincronizacion de la hora con un servidor ntp.
Y si eso no funciona tendremos que ir a otras opciones