本文目录导读:

Python
import time
import datetime
# 方法1:获取时区名称
print(time.tzname) # 输出: ('CST', 'CST') 或类似
# 方法2:获取UTC偏移量
print(time.timezone) # 输出: -28800 (秒,即UTC+8)
# 方法3:获取当前时区
print(datetime.datetime.now().astimezone().tzinfo) # 输出: CST
# 方法4:使用pytz库
import pytz
print(pytz.country_timezones('CN')) # 输出: ['Asia/Shanghai']
JavaScript (Node.js)
// 方法1:Intl.DateTimeFormat
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
console.log(timezone); // 输出: 'Asia/Shanghai'
// 方法2:获取UTC偏移量
const offset = new Date().getTimezoneOffset();
console.log(offset); // 输出: -480 (分钟)
// 方法3:moment-timezone库
const moment = require('moment-timezone');
console.log(moment.tz.guess()); // 输出: 'Asia/Shanghai'
Bash/Shell
# 方法1:date命令 date +%Z # 输出: CST # 方法2:读取时区文件 cat /etc/timezone # 输出: Asia/Shanghai # 方法3:获取UTC偏移量 date +%z # 输出: +0800 # 方法4:timedatectl timedatectl status | grep "Time zone" # 输出: Time zone: Asia/Shanghai (CST, +0800)
PowerShell
# 方法1:获取时区名称 Get-TimeZone # 方法2:获取UTC偏移量 (Get-TimeZone).BaseUtcOffset # 方法3:获取当前时区ID (Get-TimeZone).Id # 输出: China Standard Time
Ruby
# 方法1:Time类 puts Time.now.zone # 输出: CST # 方法2:获取UTC偏移量 puts Time.now.utc_offset # 输出: 28800 (秒)
PHP
<?php
// 方法1:date函数
echo date('e'); // 输出: Asia/Shanghai
// 方法2:获取UTC偏移量
echo date('P'); // 输出: +08:00
// 方法3:DateTime对象
$dt = new DateTime();
echo $dt->getTimezone()->getName(); // 输出: Asia/Shanghai
?>
注意事项:
- Linux/Unix系统:时区信息通常存储在
/etc/timezone或/etc/localtime - 跨平台兼容性:推荐使用标准库函数,避免直接读取系统文件
- 时区名称差异:不同系统可能返回不同的时区名称(如"CST"可能指中国标准时间或中部标准时间)
- 夏令时:获取的时区偏移量可能受夏令时影响
根据你的具体需求选择合适的脚本语言来实现。