1

この種の比較に興味がありますか、何か手がかりはありますか?

以下のように2つの変数があるとします。

$p1 = "2013-01-11/2013-01-04";
$p2 = "2013-01-12/2012-01-05";

以下のPerlのコードが好きなら、

if $p1 lt $p2

比較するためにPerlは何をどのように取るのでしょうか?

4

2 に答える 2

7

ltは文字列比較演算子であり、文字通りの意味で2つのオペランドを比較します。

あなたの場合、2つの文字列

2013-01-11/2013-01-04
||||||||||
2013-01-12/2012-01-05

図のように比較され、9番目の位置(最初の位置の文字が異なります。文字列のインデックスは0から始まることに注意してください)、つまり1in$p12inで停止し$p2ます。また、文字通り1よりも少ないです。2そう$p1 lt $2です。

于 2013-01-14T01:45:17.350 に答える
-1

タスクの内訳:

  • 文字列を(start_stringtime、end_stringtime)文字列ペアに分割します
  • 文字列ペアの各文字列を日時に変換します
    (これには膨大な数のモジュールがあります。タスクに適したモジュールを選択してください)
  • 各ペアの期間を計算します
  • 期間を数値で比較する-if $p1 < $p2

この質問:
文字列「20-May-07」を日付に変換して操作する

あなたにいくつかのリードを与えるでしょう

于 2013-01-14T01:53:00.633 に答える