cod*_*ict 11
您可以将时间分为小时和分钟,然后使用以下ceil功能:
use POSIX;
my ($hr,$min) = split/:/,$time;
my $rounded_min = ceil($min/15) * 15;
if($rounded_min == 60) {
$rounded_min = 0;
$hr++;
$hr = 0 if($hr == 24);
}
Run Code Online (Sandbox Code Playgroud)
距离6:07最近的15分钟是6:00,而不是6:15.您想要最近的15分钟间隔或下一个15分钟的间隔吗?
假设它是最近的,这样的东西可以满足您的需求.
#!/usr/bin/perl
use strict;
use warnings;
use constant FIFTEEN => (15 * 60);
my $now = time;
if (my $diff = $now % FIFTEEN) {
if ($diff < FIFTEEN / 2) {
$now -= $diff;
} else {
$now += (15*60) - $diff;
}
}
print scalar localtime $now, "\n";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3528 次 |
| 最近记录: |