新・元地方の中規模印刷会社で苦悩するWebデザイナー改めWebディレクターの日記

自由な20代、窮屈な30代を経て、遂に40代になっちまったWebディレクター&パソコン講師の覚書と思う言(こと)。略称【ちほちゅう】

*

「エポックタイム」とはどんな意味?

   

  • このエントリーをはてなブックマークに追加

1年以上前の記事です。内容が古い可能性があります。

久々に現場にてperlプログラミングなんぞをやってみましたよ。
とっても新鮮でした。これからもちょくちょくやっていこう。

今回行なったのは、簡易CMS(コンテンツマネージメントシステム)の改造。
新し目の記事に「NEW」っていうアイコンをつけたいとの事。

CGI&Perlポケットリファレンス (Pocket reference)CGI&Perlポケットリファレンス (Pocket reference)
著者:藤田 郁
販売元:技術評論社
発売日:1999-03
おすすめ度:4.0
レビューを見る

スポンサーリンク
 

パッと思いついたのが、記事データの日時と現在の日時を比較して、最近のものだけに「NEW」をつける手法。

そこで「$date-10」なんてやって10日前まで表示させようと思いきや、これはどう考えても動きません。
「$date」に格納されているデータが「2009/9/28」といった文字列だからです。
そこでこいつを数字に変えなきゃいけない。

いろいろ調べてみると「エポックタイム」という便利なものがあることが判明。
エポックタイムってのは何のことなのでしょう。

エポックタイム(エポック秒) 

これはですね。簡単に言うと日時を秒数で表した数字です。
1970年1月1日00:00:00を基準にして、それから何秒たったかを数値にしています。

perlの場合、Time::Localモジュールのtimelocal関数を使うと簡単にエポックタイムを取得することができます。
「$date=”2009/9/28″」と仮定して具体的には以下のように書きました。

($year,$mon,$mday) = split(/\//,$date,);
$date2 = timelocal(0, 0, 0, $mday, $mon-1, $year);

最初の行でスラッシュでデータを分解、次の行でエポックタイムにして「$date2」に格納しています。
(出た数字はなんと「1254063600秒」=「12億5406万3600秒」)
こいつを、「time」と比較すればいいわけです。

ちなみに1ヶ月をエポックタイムにすると60秒×60分×24時間×30日=2592000秒となります。

もちろん、プログラム前半に

use Time::Local;

の表記も忘れずに。

ココとPerlで遊びませんか(経過日数の計算) (参考にしたサイト)

 - プログラミング, 覚え書き

アドセンス広告メイン

Message

メールアドレスが公開されることはありません。

  関連記事

400ミリシーベルトは40万マイクロシーベルトで4億ナノシーベルト

1年以上前の記事です。内容が古い可能性があります。東北地方太平洋沖地震による震災 …

Appleの「Retina(レチナ)ディスプレイ」とはなんなのか?

1年以上前の記事です。内容が古い可能性があります。Appleの新商品発表会「WW …

コメント付き「いいね!」ボタンを確実に作る方法

1年以上前の記事です。内容が古い可能性があります。5月以降、使えなくなる表記もあ …

Flickrのクリエイティブ・コモンズは何にすればいいのか? [後編]

1年以上前の記事です。内容が古い可能性があります。「Flickr(フリッカー)の …

Windows版Illustrator 8の初期設定の場所

1年以上前の記事です。内容が古い可能性があります。ちょっとしたトラブルがあったの …

no image
エロサイト見ちゃだめ。

1年以上前の記事です。内容が古い可能性があります。たま~に入ってくる自営でやって …

SE(システムエンジニア)やPG(プログラマー)が「ほぼほぼ」を口癖にする理由

1年以上前の記事です。内容が古い可能性があります。知り合いの女子に「若干(じゃっ …

no image
外部SEO(被リンクSEO)まとめ

1年以上前の記事です。内容が古い可能性があります。内部SEOをしっかりしてもSE …

Flickr(フリッカー)で画像の入れ替えができた

1年以上前の記事です。内容が古い可能性があります。一度アップした画像を入れ替えた …

ヘアラインを一つ一つ修正しようとしていたらしい

1年以上前の記事です。内容が古い可能性があります。とんでも現場からこんにちは。 …

血液型オヤジ