Linux(Redhat)で特定のUTCオフセットに対して夏時間が有効になっているかどうかを判断する必要があります。UTC + 05:30などの入力があります。zdumpコマンドの使い方を確認しました。タイムゾーン名とともに使用すると、出力のisdstの値を確認して、夏時間のステータスを判断できます。
zdump -v / usr / share / zoneinfo / Asia / Kolkata | grep 2013
上記のように、zdumpにはゾーン名が必要です。UTCオフセットを受け入れません。
以下のように現地時間機能も試してみました。
time_t currtime;
struct tm * timeinfo;
timeinfo = localtime ( &currtime );
time_t local = mktime( timeinfo );
cout<<timeinfo->tm_isdst<<endl;
上記のコードは、日時設定でタイムゾーン名が設定されている場合に機能します。システムがUTC時間を使用している場合は機能しません。UTC時刻を使用する場合、localtimeの代わりにgmtimeを使用しました。
UTCオフセットを使用してdstが有効になっているかどうかを判断する方法があるかどうかを教えてください。