人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

$start = "15:16:52";
$end = "15:29:15";

この2つの時刻の差を "hh:mm:ss" 形式で
$diff に代入する Perl のスクリプトを提示してください。

●質問者: akio0911
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:diff MM Perl SS スクリプト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● bmw120i
●35ポイント

Perlは得意じゃないので、練習のつもりで書いてみました。

$start = "15:16:52";

$end = "15:29:15";

@a = split(/:/,$start);

$startsec = @a[0]*3600 + @a[1]*60 + @a[2];

@a = split(/:/,$end);

$endsec = @a[0]*3600 + @a[1]*60 + @a[2];

$diffsec = $endsec - $startsec;

@b[0] = int($diffsec / 3600);

@b[1] = int(( $diffsec % 3600 ) / 60);

@b[2] = ($diffsec % 3600 ) % 60;

$diff = join(':',@b);

一応動作確認はしました。


2 ● bizarre_sprout
●35ポイント

上のとか分かりやすくていいけれど、

モジュール活用するなら


#!/usr/bin/perl

use strict;

use Time::Simple qw / date /;

use Time::Format qw / time_strftime /;

my $start = "15:16:52";

my $end = "15:29:15";

my $time_start = Time::Simple->new($start);

my $time_end = Time::Simple->new($end);

my $diff_pre = $time_end - $time_start;

my $diff = time_strftime('%H:%M:%S',$diff_pre-32400);


とか?モジュールがなければcpanでとってきて、

インストールの権限がなければ、適当なところにおいて

use lib qw(/home/user_name/pm);

とか書けばいいです。

動作は確認済み。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ