我们在Linux中设置时区的时候通常是通过设置TZ环境变量达到目的:
#bash中
export TZ CST-8 #设置为东八区时间
#c程序中
setenv("TZ", "CST-8", 1);
TZ 环境变量用于设置时区。它由各种时间函数用于计算相对于全球标准时间 (UTC)(以前称为格林威治标准时间 (GMT))的时间。格式由操作系统指定。
>>-setenv--TZ--tzn--+----+--hh--+------------------+--+-----+--><
+- +-+ '-:--mm--+-------+-' '-dzn-'
'- --' '-:--ss-'
tzn
三个字母的时区名称,如 PST。您必须指定从本地时间到 UTC(全球标准时间)之间的正确偏移量。
hh
UTC 与本地时间之间的小时数之差(一位数或两位数)。可选择带符号。
mm
UTC 与本地时间之间的分钟数之差(两位数)。
ss
UTC 与本地时间之间的秒数之差(两位数)。
dzn
三个字母的夏令时区域,如 PDT。如果本地从未采用夏令时,请在设置 TZ 时不使用 dzn 值。
例如,如果使用实施太平洋夏令时的太平洋标准时间,请将 TZ 环境变量设置为 PST8PDT。有关设置 TZ 环境变量的更多信息,请参阅操作系统文档。
参考文档:
1. TZ 环境变量