-1
A
回答
3
查看localtime
功能。
use warnings;
use strict;
my $after_time = "13:32";
my @time = localtime(time);
if ($after_time =~ /(\d+):(\d+)/ and
$time[2] >= $1 and
$time[1] >= $2
)
{
print "It is after $after_time";
}
更新:謝謝你,戴維十字架,指出原代碼是由於兩個電話給有缺陷localtime()
。
1
這並不完全清楚你在問什麼,但可能是這樣的。
use Time::Piece;
my $hour = localtime->hour;
if ($hour < 20) {
say "It's before 20:00";
} elsif {$hour > 20) {
say "It's after 20:00";
} else {
say "It's 20:00";
}
0
my $now = DateTime->now(time_zone => 'local');
my $cutoff = $now->clone->truncate(to => 'day')->set(hour => 20);
if ($now < $cutoff) {
say "It's before 20:00";
} elsif ($now > $cutoff) {
say "It's after 20:00";
} else {
say "It's exactly 20:00";
}
這可能是這種情況有點矯枉過正,但日期時間的靈活性,讓您輕鬆實現其他邏輯(不同的截止工作日/週末,截止於小時和分鐘),無需陷得大部分進入if-then-else邏輯。
0
其實正確的「如果」條件就有所不同了,你不需要檢查分鐘也大,如果時間不超過分鐘以上(我也是固定的標誌方向:)
use warnings;
use strict;
my $after_time = "13:32";
my @time = localtime(time);
if ($after_time =~ /(\d+):(\d+)/
and (($time[2] > $1) || ($time[2] == $1 and $time[1] >= $2))
) {
print "It is after $after_time";
}
相關問題
- 1. 比較時間與symfony2
- 2. 比較時間與移動時間
- 3. 比較時間與日期時間
- 4. Perl與MySQL比較日期
- 5. 如何將GDKEvent時間戳與當前時間進行比較?
- 6. 將當前時間與固定時間比較05:00:00
- 7. 如何將時間與時間進行比較
- 8. 時間比較
- 9. Java比較時間與時區
- 10. MySQL時間與時代比較
- 11. 比較時間與時區到現在
- 12. 比較perl的
- 13. Perl比較
- 14. 將右無限時間間隔與joda-lib進行比較
- 15. 時間戳比較
- 16. mysql時間比較
- 17. Oracle時間比較
- 18. SystemC時間比較
- 19. fullCalendar比較時間
- 20. PHP比較時間
- 21. Android比較時間
- 22. Python時間比較
- 23. Javascript時間比較
- 24. Excel時間比較
- 25. Rails時間比較
- 26. 比較時間戳
- 27. PHP - 比較時間
- 28. SQL時間比較
- 29. MilliSecond比較時間
- 30. 比較時間戳
詳細地說,請參見http://stackoverflow.com/questions/8221841/how-to-compare-string-date-time-in-perl&http://www.perlmonks.org/?node_id=233746 –