7
A
回答
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);
}
8
最近15分鐘間隔6:07 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";
4
一個簡單的解決方案是使用CPAN的Math::Round。
use strict;
use warnings;
use 5.010;
use Math::Round qw(nearest);
my $current_quarter = nearest(15*60, time());
say scalar localtime($current_quarter);
0
使用sprintf代替ceil和POSIX的第一個答案的細微變化。也不使用任何其他CPAN模塊。這個向上或向下舍入6:07 = 6:00,6:08 = 6:15,6:22 = 6:15和6:23 = 6:30。請注意,如果四捨五入的分鐘數等於60,則會添加一小時。但要正確執行此操作,您必須使用timelocal和localtime函數來添加小時。即增加一個小時可以增加一天,一個月或一年。
#!/usr/bin/perl
my ($hr,$min) = split/:/,$time;
my $interimval = ($min/15);
my $rounded_min = sprintf "%.0f", $interimval;
$rounded_min = $rounded_min * 15;
if($rounded_min == 60)
{
$rounded_min = 0;
$hr++;
$hr = 0 if($hr == 24);
}
相關問題
- 1. 在Excel中舍入到最近的15分鐘間隔時間
- 2. 在Flex中將日期精確到最近的15分鐘間隔
- 3. 將timedelta舍入到最接近的15分鐘
- 4. 如何在Python中將時間戳記舍入到最接近的分鐘?
- 5. 將工作狀態分爲整個15分鐘間隔或最近分鐘
- 6. 舍入MYSQL日期時間到最早每隔15分鐘以毫秒爲單位(PHP)
- 7. 如何在java中將時間縮短到最接近的15分鐘
- 8. 如何將2D矢量「舍入」到最近的15度
- 9. 使用MS Excel,如何將日期/時間格式值舍入到最近的5分鐘?
- 10. 間隔15分鐘的Timepicker
- 11. 獲取時間四捨五入到最近的5分鐘間隔只有幾分鐘轉換爲字符串
- 12. mysql的日期時間按15分鐘
- 13. 如何在Python中的數據框中將日期時間舍入爲十分鐘的日期時間
- 14. 如何在SQL中將日期數字舍入到最近的月份?
- 15. 圓整日期到10分鐘間隔
- 16. 如何將時間戳記的分鐘舍入爲15的增量?
- 17. 3 cronjobs,15個分鐘的間隔,相隔5分鐘
- 18. 在java中,我們如何將時間四捨五入到最近的小時和分鐘?
- 19. 如何將時間四捨五入到最近的四分之一和半小時的時間間隔?
- 20. 如何以15分鐘的時間間隔對分鐘進行分組
- 21. 德爾福:我如何將TDateTime四捨五入到最接近的秒,分鐘,五分鐘等?
- 22. 在Silverlight中將數字舍入到最接近的百分數
- 23. 兩個日期之間的所有日期,間隔30分鐘
- 24. 如何將時間戳列四捨五入到大熊貓的最高分鐘
- 25. 在最近15分鐘內選擇已更改的記錄日期和時間分兩列
- 26. 我如何將MySQL TIME四捨五入到最近的小時(不是日期時間/時間戳)
- 27. 如何使自舉的DateTimePicker 15分鐘間隔
- 28. 將每15分鐘的間隔轉換爲R的小時間隔
- 29. 如何將最大日期/分鐘日期設置爲WinPhone DatePicker
- 30. 如何使用JavaScript日期對象舍入到最近的小時數
整齊,但12:58將成爲12:60和13:00 :-( – 2010-10-12 12:19:23
@島之風Skaar:感謝您指出現在修好了 – codaddict 2010-10-12 12:28:30