私はそれが$ENV{TZ}
のように単純だと仮定していましたが、TZ
環境変数は設定されていませんが、まだ私はEDTにいるということをまだ知っていますので、(chomp(my $tz = qx/date +%Z/);
以外の) 。マシンがPerlで設定されている現在のタイムゾーンを特定するにはどうすればよいですか?
答えて
use POSIX;
print strftime("%Z", localtime()), "\n";
私は%Zについて考えましたが、いくつかのシステムでは動作しないことを覚えています。 –
man strftimeによると、%Zは標準仕様であり、すべてのプラットフォームでサポートされる必要があります。 –
私はこれをPOSIXのドキュメントから覚えていたと思います。タイムゾーンの名前が非標準であるため、 "Z"指定子はあまり知られていません。数値指定子に従うのが最も安全なルートです。しかし、これはおそらく私の目的のために十分安全だと思います。 –
use POSIX;
localtime();
my ($std, $dst) = POSIX::tzname();
tzname()
グローバルtzname
POSIXへのアクセスを提供します - しかし、それは最初の場所に設定するために、あなたはlocaltime()
と呼ばれている必要があります。
あなたがPOSIX
よりポータブル(おそらくはるかに遅い)何かをしたい場合は、日時を使用することができます::このためのタイムゾーン:たぶん
use DateTime::TimeZone;
print DateTime::TimeZone->new(name => 'local')->name();
速く、この:
my @lt = localtime(12*60*60);
my @gt = gmtime(12*60*60);
$tz = @lt[2] - @gt[2];
$tz_ = sprintf("%+03d:00", $tz); # for +02:00 format
回答を補完するには、[編集](http://stackoverflow.com/posts/29400576/edit)ボタンを使用します。 – ZygD
あなただけが必要な場合+05:30
(UTC + 5.5 /インド時間)のように、次のコードを使用することができます。
my @lt = localtime();
my @gt = gmtime();
my $hour_diff = $lt[2] - $gt[2];
my $min_diff = $lt[1] - $gt[1];
my $total_diff = $hour_diff * 60 + $min_diff;
my $hour = int($total_diff/60);
my $min = abs($total_diff - $hour * 60);
print sprintf("%+03d:%02d", $hour, $min);
この回答は上記のPavelの答えに触発されています。
- 1. crontabの特定のタスクに異なるタイムゾーンを設定するにはどうすればよいですか?
- 2. ユーザーが現在入力しているアプリケーションを特定するにはどうすればよいですか?
- 3. スクロールビューで現在表示されている領域を特定し、中心を特定するにはどうすればよいですか?
- 4. Perlのネストされたハッシュで特定のキーにアクセスするにはどうすればよいですか?
- 5. VB.NETデバッグエラー: "現在のプロジェクト設定では、プロジェクトがデバッグされるように指定されています..."
- 6. 現在のクラスに新しいクラス値を設定するにはどうすればよいですか?
- 7. AWS EBで現在どのPHP環境変数が設定されているかを確認するにはどうすればよいですか?
- 8. MPMoviePlayerインスタンス内でユーザーの現在の場所を特定するにはどうすればよいですか?
- 9. 現在の投稿に関するオフセットを設定するにはどうすればよいですか?
- 10. OS Xで現在アクティブなアプリケーションをプログラムで特定するにはどうすればよいですか?
- 11. AndroidのDatePickerDialogで現在の年を設定するにはどうすればよいですか?
- 12. C#で現在のユーザーのローカル設定フォルダパスを取得するにはどうすればよいですか?
- 13. Drupal 7のビューで現在の日付を設定するにはどうすればよいですか?
- 14. 特定のHTTPDプロセスによってどのURLが処理されているかを特定するにはどうすればよいですか?
- 15. Playの現在のディレクトリをアプリのホームディレクトリに設定するにはどうすればよいですか?
- 16. iOSでデバイス設定の振動モードがプログラムで設定されているかどうかを確認するにはどうすればよいですか?
- 17. 現在のユーザーをModelFormの属性に設定するにはどうすればよいですか?
- 18. アンドロイドの地図上の現在地にジオポイントを設定するにはどうすればよいですか?
- 19. C++のウィンドウで時間を特定のタイムゾーンに変換するにはどうすればよいですか?
- 20. hudson(現在のジェンキンズ)のjdkの開始を設定するにはどうすればよいですか?
- 21. Javaスレッドが実行されているコアを特定するにはどうすればよいですか?
- 22. スレッドが実行されているCPUを特定するにはどうすればよいですか?
- 23. 移行の現在の「バージョン番号」を設定するにはどうすればよいですか?
- 24. Passport strategy callbackURLの現在のホストを設定するにはどうすればよいですか?
- 25. ブートストラップの特定のグリッドに従ってタブを設定するにはどうすればよいですか?
- 26. 特定の行が存在する場合、MYSQL列を特定の値に設定するにはどうすればよいですか?
- 27. インターネットから日時を特定のタイムゾーンに取得するにはどうすればよいですか?
- 28. どのセル/列にフィルタが設定されているかを特定するにはどうすればよいですか?
- 29. AWSでホストされている外部Javascript設定から現在のページパスを動的に解析するにはどうすればよいですか?
- 30. Silverlight RichTextBoxで書式設定されたテキストを設定するにはどうすればよいですか?
私のシステムでは、タイムゾーンは/ etc/localtimeファイルで規制されています。libcはその使用方法を知っているようです。 –