OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

localtimeについて

  • すぐに回答を!
  • 質問No.194323
  • 閲覧数34
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 8% (10/125)

perlを使っています。

localtime関数を使って時間をウェイブで表示しようと思っています。代替成功はしたのですが下記のことに問題があります。
 2001年1月4日2時5分(現状)
 2001年01月04日02時05分(要望)
にしたいのですがどのようにすればできるのか教えていただけないでしょうか?
 又、2001年01月04日02時05分をいちれつにつなげる事、つまり(2001010405)というように一列につなげることはできるのでしょうか?
 どうか教えてください。お願いします。
 
 
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル8

ベストアンサー率 24% (8/33)

現状の「2001年1月4日2時5分」の変数部分が、 仮に$year、$month、$day、$hour、$minとしたら、  if($month < 10) {    $month = "0".$month;  }  if($day < 10) {    $day = "0".$day;  }  if($hour < 10) { ...続きを読む
現状の「2001年1月4日2時5分」の変数部分が、
仮に$year、$month、$day、$hour、$minとしたら、

 if($month < 10) {
   $month = "0".$month;
 }
 if($day < 10) {
   $day = "0".$day;
 }
 if($hour < 10) {
   $hour = "0".$hour;
 }
 if($min < 10) {
   $min = "0".$min;
 }

などとしてやれば、要望通りになると思います。
また、一列につなぐのも、

 $xxxx = $year.$month.$hour.$min;

と連結してやればいいと思います。
  • 回答No.2
レベル8

ベストアンサー率 24% (8/33)

ごめんなさい、  $xxxx = $year.$month.$hour.$min; に $dayが抜けてました。  $xxxx = $year.$month.$day.$hour.$min; です。 ...続きを読む
ごめんなさい、

 $xxxx = $year.$month.$hour.$min;

に $dayが抜けてました。

 $xxxx = $year.$month.$day.$hour.$min;

です。
お礼コメント
gcc

お礼率 8% (10/125)

す、すごいです。
いとも簡単にできてしました。
$xxxx = $year.$month.$day.$hour.$min;
の中で
$xxxxをまた年月日に分解することもできるのでしょうか?お願いします。
投稿日時 - 2002-01-08 01:07:56
  • 回答No.3
レベル11

ベストアンサー率 61% (157/255)

普通なら、以下のように処理します。 ########## 0を頭につけて2桁にする処理 ########## map { $_=sprintf("%02d",$_) } ($month,$day,$hour,$min); ########## 連結 ########## $xxxx=$year.$month.$day.$hour.$min; ####### ...続きを読む
普通なら、以下のように処理します。


########## 0を頭につけて2桁にする処理 ##########
map { $_=sprintf("%02d",$_) } ($month,$day,$hour,$min);

########## 連結 ##########
$xxxx=$year.$month.$day.$hour.$min;

########## 分解 ##########
($year2,$month2,$day2,$hour2,$min2)=$xxxx=~/^(....)(..)(..)(..)(..)$/;
  • 回答No.4
レベル8

ベストアンサー率 24% (8/33)

関数をうまく組み合わせれば1行でできちゃうんですね~すごい!(常識?) 関数をあまり知らないので、いつも変数を1つずつ処理してました。 勉強になります。 分割の方法なんですが、kokucho81さんの書かれてる通りですね。 「=~」はマッチ演算子で/^(....)(..)(..)(..)(..)$/というパターンで 左側の変数に代入します。 「.」(ドット)は「\n」(改行)以外の文字にマ ...続きを読む
関数をうまく組み合わせれば1行でできちゃうんですね~すごい!(常識?)
関数をあまり知らないので、いつも変数を1つずつ処理してました。
勉強になります。

分割の方法なんですが、kokucho81さんの書かれてる通りですね。
「=~」はマッチ演算子で/^(....)(..)(..)(..)(..)$/というパターンで
左側の変数に代入します。
「.」(ドット)は「\n」(改行)以外の文字にマッチしますので、
意味合い的には最初の4文字を$year2に、次の2文字を$month2に・・・って
感じになります。(「^」が文字列の頭、「$」が文字列の末尾を指定しますので、
このパターンマッチは12文字の文字列にしかマッチしません)
うまく説明できませんが、いけそうですか?

kokucho81さん、間違ってましたらフォローお願いします(^^;
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ