• ベストアンサー

日付の比較について

いつもお世話になります。 ファイルに記述された日付に7日を加算した値とlocationtimeで取得した値を比較したいのですが、記述方法が分かりません。 <ファイルは下記のようになっております。> 2006<>03<>28<>明細 これに7を加算した(7日後という意味です)locationtimeでreturn "$year/$mon/$day";の戻り値と比較した比較したいのですが、 どのようにしたらよいのでしょうか? どなたかご教示お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • SE-1
  • ベストアンサー率57% (26/45)
回答No.5

# あ、こういうことですか? # まだ違ってたりして・・ use strict; my $date1='20060328'; my $date2='2006/04/05'; $date2=~ s{\/}{}g; if($date1 <= $date2){ print '$date1 <= $date2'; }else{ print 'else'; }

cardy55
質問者

補足

SE-1様ありがとうございます。ご面倒かけて申し訳ありません。参考になりました。

その他の回答 (4)

  • SE-1
  • ベストアンサー率57% (26/45)
回答No.4

# これでいいでしょうか・・ use strict; my $date1='2006/03/28'; $date1=~ s{\/}{}g; my $date2='2006/04/05'; $date2=~ s{\/}{}g; if($date1 <= $date2){ print '$date1 <= $date2'; }else{ print 'else'; }

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

すいません、locationtime ってなんですか?

  • SE-1
  • ベストアンサー率57% (26/45)
回答No.2

# こんなんどうでしょう。 use strict; use Time::Local; my $date_info = <DATA>; my @date_infos = split /<>/, $date_info; my ($year,$mon,$day) = ($date_infos[0]-1900,$date_infos[1]-1,$date_infos[2]); my ($sec,$min,$hour)= (localtime(time))[0..2]; my $time2 = timelocal ($sec,$min,$hour,$day,$mon,$year); $time2 = $time2 + 7*24*60*60; if (time<$time2){ print "New file.\n"; }else{ print "Old file.\n"; } __DATA__ 2006<>03<>28<>明細

cardy55
質問者

補足

SE-1様回答が遅くなり大変申し訳ありません。ロジック参考にさせて頂きました。ちなみに単純に入力されたデータ(2006/03/28->20060328)と(2006/04/05->2006/04/05)を比較する事は可能でしょうか? 例$date1="20060328" $date2="20060405" if($date1 <= $date2){ 適切な処理 } ご面倒ですが、補足願えればと思います。

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 日付のみで時間を気にせずにその大小をひかくしたいのであれば、「ユリウス暦」という便利なものがありますので、一度調べてみてください。 一度作って関数化しておくと便利ですよ。 http://homepage1.nifty.com/manome/astrology/julian.html

cardy55
質問者

お礼

galluda様回答が遅くなり大変申し訳ありません。 参考にさせて頂きました。他の方に補足質問させていただきましたが、単純に入力されたデータ(2006/03/28->20060328)と(2006/04/05->2006/04/05)を比較する事は可能でしょうか? 例$date1="20060328" $date2="20060405" if($date1 <= $date2){ 適切な処理 } また文字列を数値で比較する場合は""を外した状態で代入すればよいのでしょうか?(基本を忘れてます。申し訳ありません。) ご面倒ですが、補足願えればと思います。

関連するQ&A