日付、時間を分割するには?

[上に] [前に] [次に]
へろろ 1999/11/19(金) 16:00:55
日付、時間の分割の方法で悩んでいます。

19990910110532  ←のように日付時間データがあるのですが
これを以下のような形にしたいと考えています。

1999/09/10 11時05分32秒

この場合はsplitなどを使用して分割することは出来るのでしょうか?

よろしく、お願いいたします。

無責任官庁 1999/11/19(金) 16:26:26
split は、区切りになる文字が無いとダメなんです。

> 19990910110532  ←のように日付時間データがあるのですが
これって、固定長ですか?
(9月は、必ず“09”になります?ってこと)

固定長ならば、substr を使って分割できます。
http://www.tohoho-web.com/wwwperl2.htm#substr

$date = "19990910110532";
$yy = substr($date,0,4);
$mm = substr($date,4,2);
$dd = substr($date,6,2);
〜〜〜
$fdate = $yy . '/' . $mm . '/' . $dd . 〜〜〜

Aurai [E-Mail] 1999/11/19(金) 16:29:09
$time = '19990910110532';
$time =~ s|(.{4})(.{2})(.{2})(.{2})(.{2})(.{2})|$1/$2/$3 $4時$5分$6秒|;
こんなところでしょうか

Aurai [E-Mail] 1999/11/19(金) 16:30:25
あ、重なってしまいました

ふじ 1999/11/19(金) 16:35:34
>split は、区切りになる文字が無いとダメなんです。
空文字列で split すれば、1byteずつ配列に入りますので
無理やり使えば・・・

$date = "19990910110532";
@date = split "", $date;
$year = join("", @date[0..3]);
$mon = join("", @date[4..5]);
$day = join("", @date[6..7]);
...

美しくない(効率悪いし)(^^;
無責任官庁さんの方法の方が良いですね。

へろろ 1999/11/19(金) 17:19:46
[[解決]]
みなさん、ありがとうございました。
無事、できました。

これからも、よろしくおねがいします。

へろろ

へろろ 1999/11/19(金) 17:19:48
[[解決]]
みなさん、ありがとうございました。
無事、できました。

これからも、よろしくおねがいします。

へろろ

へろろ 1999/11/19(金) 17:20:46
すみません、二度押してしまいました。

[上に] [前に] [次に]