システムのタイムゾーンの取得方法
from タイムゾーン
Debian系Linux
$ cat /etc/timezone
Linux の大半
/etc/localtime が tz database のタイムゾーンファイルへのシンボリックリンクになっている。
code:localtime.console
$ ls -l /etc/localtime
lrwxrwxrwx. 1 root root 32 Feb 3 13:25 /etc/localtime -> ../usr/share/zoneinfo/Asia/Tokyo
systemd系
timedatectl コマンドでタイムゾーンを確認できる。
code:systemd_result.console
$ timedatectl
Local time: Wed 2020-02-19 15:23:44 JST
Universal time: Wed 2020-02-19 06:23:44 UTC
RTC time: Tue 2020-02-18 15:49:14
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
Windows PowerShell
Get-WmiObject は現在では廃止されている。
CIM Win32_TimeZone class https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-timezone
code:cim.console
Get-CimInstance Win32_TimeZone
Bias SettingID Caption
---- --------- -------
540 (UTC+09:00) 大阪、札幌、東京
Get-CimInstance Win32_TimeZone | Format-List *
Caption : (UTC+09:00) 大阪、札幌、東京
Description : (UTC+09:00) 大阪、札幌、東京
SettingID :
Bias : 540
DaylightBias : -60
DaylightDay : 0
DaylightDayOfWeek : 0
DaylightHour : 0
DaylightMillisecond : 0
DaylightMinute : 0
DaylightMonth : 0
DaylightName : 東京 (夏時間)
DaylightSecond : 0
DaylightYear : 0
StandardBias : 0
StandardDay : 0
StandardDayOfWeek : 0
StandardHour : 0
StandardMillisecond : 0
StandardMinute : 0
StandardMonth : 0
StandardName : 東京 (標準時)
StandardSecond : 0
StandardYear : 0
PSComputerName :
CimClass : root/cimv2:Win32_TimeZone
CimInstanceProperties : {Caption, Description, SettingID, Bias…}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties
Get-WmiObject の場合
code:wmi.console
Get-WmiObject -Class Win32_TimeZone -Namespace "Root\CIMV2"
Bias SettingID Caption
---- --------- -------
540 (UTC+09:00) 大阪、札幌、東京
.NET (C#)
日付、時刻、およびタイム ゾーン https://docs.microsoft.com/ja-jp/dotnet/standard/datetime/
System.TimeZoneInfo.Local で取得可能
https://docs.microsoft.com/ja-jp/dotnet/api/system.timezoneinfo.local?view=netcore-3.1
System.TimeZone.Local は deprecated
JavaScript(Webブラウザ)
ローカルタイムゾーンを取得するAPIは存在しない。
UTC との現在の時差のみを取得できる。
code:getOffset.js
var date = new Date();
console.log(date.getTimezoneOffset());
サードパーティーで情報を組み合わせて推測するライブラリはある。
https://www.npmjs.com/package/jstimezonedetect