ブログトップ 記事一覧 ログイン 無料ブログ開設

サンプルコードによるPerl入門

2008-10-14

Time::Local::timelocal() 日付と時刻(ローカル時間)をエポック秒に変換する

 日付と時刻(ローカル時間)をエポック秒に変換するにはTime::Localモジュールtimelocal関数を使用します。

use Time::Local 'timelocal';
my $sec_from_epoch = timelocal($sec, $min, $hour, $mday, $month, $year);

サンプル

 日付と時刻(ローカル時間)をエポック秒に変換するサンプルです。

use strict;
use warnings;

use Time::Local 'timelocal';

print "(1)日付と時刻(ローカル時間)をエポック秒に変換する。\n";
my $sec = 10;
my $min = 30;
my $hour = 12;
my $mday = 1;

# 1月は0、2月は1 のようになるので1を引く。
my $month = 10 -1;

# Perlでは年は1900年からの日数で扱うので1900を引く
my $year = 2000 - 1900;

my $sec_from_epoch = timelocal($sec, $min, $hour, $mday, $month, $year);
print $sec_from_epoch;

日付と時刻(ローカル時間)をエポック秒に変換する

my $sec = 10;
my $min = 30;
my $hour = 12;
my $mday = 1;

# 1月は0、2月は1 のようになるので1を引く。
my $month = 10 -1;

# Perlでは年は1900年からの日数で扱うので1900を引く
my $year = 2000 - 1900;

my $sec_from_epoch = timelocal($sec, $min, $hour, $mday, $month, $year);

 日付と時刻(ローカル時間)をエポック秒に変換するにはTime::Localモジュールのtimelocal関数を使用します。

 timelocal関数は組み込み関数のlocaltimeとまったく逆の変換を行います。 timelocal関数に渡す引数は、localtime行われる変換規則と同じである必要があります。

 月は0から始まるので、実際の月から1を引いた値を用いる必要があります。年は1900年からの年数なので1900を引く必要があります。

 また日付と時刻(協定世界時)をエポック秒に変換するには、Time::Localモジュールのtimegm関数を使用します。


Perl逆引き辞典/日付と時刻へ

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証