Hello,
Based on your question, I'm assuming the desired timezone you want to run WeeWX under is US/Eastern. If this is incorrect, substitute as appropriate below.
Try this experiment on your shell (assumes bash):
$ date
# displays date in UTC time (default on your machine)
$ TZ=US/Eastern date
# displays date in the US Eastern timezone
This works as it's possible to set and export any environment variable by specifying it on the command line before the command to be executed. The assignment only applies to the following command and would not affect any subsequent commands.
The following solution is completely untested with WeewX so YMMV.
From what I read, it appears possible to define environment variables in a .service file like weewx.service (see the systemd.exec man page):
[Service]
Environment="TZ=US/Eastern"
ExecStart=/home/weewx/bin/weewxd --daemon --pidfile=/var/run/weewx.pid /home/weewx/weewx.conf
WARNING: Don't do this with an existing database unless you have already reprocessed the data appropriately before restarting WeewX. Otherwise, start with a fresh archive database.
Also, since you may need to run the WeeWX utilites from time to time, you should edit your .profile or .bash_profile in your weewx account adding:
export TZ=US/Eastern
Also make sure when you run sudo from the weewx account, that TZ is set correctly. If not, you may have to edit your .bashrc or sudo config in /etc.
In general, you have to be really careful when running any WeeWX commands that the TZ environment variable is set correctly.
Hope this helps,
-Bill