2017-10-04 15 views
-8

2つのタイムスタンプの差を計算するコード。 Start_Time="2017-09-19 19:36:12.763"End_Time="2017-09-19 19:36:22.72"ミリ秒を考慮して、上記の2つのタイムスタンプの違いを取得したいと思います。PERLの2つのタイムスタンプの差を計算する方法

#!/usr/bin/perl 

use strict; 
use warnings; 
use Date::Parse; 
use Date::Format; 

$startdat = "2007-11-17 12:51:22"; 
$stopdate = "2007-11-17 12:52:22"; 

my ($years, $months, $days, $hours, $mins, $secs) = split /\W+/, $startdat; 
my ($yeart, $montht, $dayt, $hourt, $mint, $sect) = split /\W+/, $stopdate; 

my $times = timelocal($secs,$mins,$hours,$days,$months,$years); 
my $timet = timelocal($sect,$mint,$hourt,$dayt,$montht,$yeart); 

$time = $timet - $times; 

print $time; 

しかし、これは私にエラーを与える:

これは私が試したものです@INCに日付/ Parse.pmを見つけることができません。

+1

@abbasp:また、あなたの質問に、より良いタイトルを付けることを検討してください。 –

+1

@abbasp:あなたのコードの書式を修正しました。 [Markdown help](https://stackoverflow.com/editing-help)を読む価値があります。 –

+0

@Borodin:私は、OPがコメントのコーディングを更新したときに質問を編集しましたが、残念ながら誰かが同じことを編集する前にその質問を編集しました。それが問題です。しかし、私はあなたの助言に従います。 – ssr1012

答えて

4

Date :: Parseがインストールされていないため、このエラーメッセージが表示されます。このモジュールは標準のPerlディストリビューションの一部ではなく、別途インストールする必要があります。それを使用したい場合は、インストールする必要があります。

ただし、

あなたのコードではuse Date :: ParseとDate :: Formatですが、実際には使用しません。したがって、これらの2行を削除するだけで済みます。それであなたのコードはおそらく動作します。

Date :: ParseとDate :: Formatは実際にはかなり古いモジュールです。 Perlの日時については、Time::Piec e(Perlライブラリの標準部分)またはDateTime(インストールが必要)をお勧めします。

関連する問題