Answers:
的源代码不使用和存储时戳,其随后被提供给C函数的ctime()和本地时间() ,以显示在页面的顶部的日期,并在图的底部。
这些Unix时间戳是无时区的,即从1970-01-01开始的秒数。
为了获得人类可读的时间,ctime()和localtime()会根据您的系统时区(通过调用tzset())自动调整要使用的时区。
强制TZ执行命令的时间
无论如何,您可以仅在命令执行时或在整个守护程序会话期间将时区强制设置为给定值,例如,带宽。tzset()TZ
读取环境变量以调整时区(如果已设置)。
首先看看中的时区定义 /usr/share/zoneinfo
然后,例如,cd
到终端中的主目录,并执行简单的操作ls -lrt
以查看列表底部的最新文件。然后将时区设置为法国巴黎
export TZ="Europe/Paris"
然后执行另一个操作ls -lrt
,时间应该有所不同(如果您碰巧将某个时区设置为“法国”,则可能要选择另一个TZ!)。
现在取消设置TZ var,只是为了防止基于终端中显示的时间出现一些错误。
unset TZ
更改带宽的TZ
我假设您从Ubuntu 安装了带宽包apt-get
,并且应该有一个初始化文件才能将其作为服务启动。在文件的某处进行复制,然后以根用户身份(vi或其他编辑器)对其进行编辑
sudo cp -p /etc/init.d/bandwidthd ~/bandwidthd.save
sudo vi /etc/init.d/bandwidthd
在顶部附近,您会看到一些变量定义
NAME=bandwidthd
DESC=BandwidthD
...
加一(例如,巴黎)
MYTZ="Europe/Paris"
然后,在下面的startd()函数中,您应该看到
cd $WORKDIR && start-stop-daemon --start --quiet \
--pidfile $PIDFILE \
--chdir $WORKDIR \
--exec $DAEMON -- $DAEMON_OPTS
更改为
cd $WORKDIR && start-stop-daemon --start --quiet \
--pidfile $PIDFILE \
--chdir $WORKDIR \
--exec /usr/bin/env TZ="$MYTZ" $DAEMON -- $DAEMON_OPTS
(注意/usr/bin/env TZ="$MYTZ"
之间--exec
和$DAEMON
)。
重新启动程序
sudo service bandwidthd restart
并且可能需要花费几秒钟的时间来更新文件,请在打开的浏览器file:///var/lib/bandwidthd/htdocs/index.html
(或写入文件的目录)中进行检查。