師匠の散歩

きままにPerlでも

time differencial

時間差を求める/ subTimeDifference.cgi

注意事項
西暦1962年から西暦2037までの範囲でのみ使用可能

GPXの日付+時刻のデータから秒差を求める

GPS機器のデータ(GPXファイル)から速度を求めるにあたり、2つの時刻の差の秒数を求める。2点の距離は別関数で求める。

use Time::Local;

# @_=(2010-12-23,23:59;45,2010-12-24,00:01;23)でデータを受け取り、
# $_=秒差を返す
sub TimeDiff{
  my ($lastdate,$lasttime,$nowdate,$mowtime) = @_;
  my $lastseconds = countSeconds($lastdate,$lasttime);
  my $nowseconds  = countSeconds($nowdate,$mowtime);
return ($nowseconds-$lastseconds);
}
# 秒数を求める
sub countSeconds {
  my ($date,$time) = @_;
  my ($year,$month,$day ) = split(/-/, $date);
  my ($ji  ,$fun  ,$byo ) = split(/:/, $time);
  return timelocal($byo, $fun, $ji, $day, $month - 1, $year - 1900);
}
date1 = 2010-12-23 23:59:59
date2 = 2010-12-24 00:00:01
1293116401 - 1293116399 = 2
TimeDiff(2010-12-23,23:59:59,2010-12-24,00:00:01) => 2 

subTimeDifference.cgi // Topに戻る // indexに戻る
Copyright(C) 2009-2021 Grandmaster Last up : 2020/09/18