Zainteresowany takim porównaniem, jakąś wskazówką?
Powiedzmy, że są dwie zmienne jak poniżej:
$p1 = "2013-01-11/2013-01-04";
$p2 = "2013-01-12/2012-01-05";
Jeśli tak jak poniżej, kody w Perlu,
if $p1 lt $p2
Co Perl zrobi, aby porównać i jak?
Odpowiedzi:
7 dla odpowiedzi № 1lt
jest operatorem porównania łańcuchów i porównuje dwa operandy w ich dosłownym znaczeniu.
W twoim przypadku dwie struny
2013-01-11/2013-01-04
||||||||||
2013-01-12/2012-01-05
zostanie porównany w sposób zilustrowany i zatrzyma się na pozycji 9 (znaki pierwszej pozycji są różne, również należy zauważyć, że indeks łańcucha zaczyna się od 0), tj. 1
w $p1
i 2
w $p2
. I również 1
jest mniej niż 2
dosłownie. Więc $p1 lt $2
jest prawdziwy.
-1 dla odpowiedzi № 2
Podział zadań:
- rozdziel łańcuchy na pary łańcuchów (start_stringtime, end_stringtime)
- przekonwertować każdy ciąg w parze ciągów na datę / godzinę
(tam jest moduły gazillion w tym celu wybierz jeden lub kilka odpowiednich dla twojego zadania) - oblicz okresy dla każdej pary
- porównaj okresy liczbowo -
if $p1 < $p2
To pytanie:
Przekonwertuj ciąg „20-maj-07” na datę i manipuluj
da ci kilka wskazówek