Đầu ra của tôi ở định dạng 290.52262423327 giây. Làm thế nào tôi có thể thay đổi điều này thành 00:04:51?
Đầu ra tương tự tôi muốn hiển thị trong vài giây và ở định dạng HH: mm: SS, vì vậy nếu đó là vài giây, tôi chỉ muốn hiển thị 290,52 giây. [Chỉ có hai số nguyên sau dấu thập phân]? tôi có thể làm cái này như thế nào?
Tôi đang làm việc trong PHP và đầu ra có mặt trong biến
00:04:51
02:34:51
24:02:06
9. muốn thay đổi điều này 00:04:51
02:34:51
24:02:06
9 thành echo round[$time, 2];
1 với HH: mm: SS và echo round[$time, 2];
2 là 290.52.Cảm ơn :]
Justin Ethier
129K51 Huy hiệu vàng226 Huy hiệu bạc282 Huy hiệu Đồng51 gold badges226 silver badges282 bronze badges
Hỏi ngày 20 tháng 8 năm 2010 lúc 20:13Aug 20, 2010 at 20:13
Vua Kingscorpion của Scorpion KingscorpionScorpion King
1.8388 Huy hiệu vàng36 Huy hiệu bạc45 Huy hiệu Đồng8 gold badges36 silver badges45 bronze badges
4
1]
function foo[$seconds] {
$t = round[$seconds];
return sprintf['%02d:%02d:%02d', [$t/3600],[$t/60%60], $t%60];
}
echo foo['290.52262423327'], "\n";
echo foo['9290.52262423327'], "\n";
echo foo[86400+120+6], "\n";
bản in
00:04:51
02:34:51
24:02:06
2]
echo round[$time, 2];
Nick f
9.5057 Huy hiệu vàng72 Huy hiệu bạc89 Huy hiệu Đồng7 gold badges72 silver badges89 bronze badges
Đã trả lời ngày 20 tháng 8 năm 2010 lúc 20:35Aug 20, 2010 at 20:35
1
Hãy thử cái này
echo gmdate["H:i:s", 90];
Đã trả lời ngày 15 tháng 7 năm 2014 lúc 9:09Jul 15, 2014 at 9:09
Azam Alviazam AlviAzam Alvi
6.6788 Huy hiệu vàng60 Huy hiệu bạc86 Huy hiệu Đồng8 gold badges60 silver badges86 bronze badges
3
Cho đến
echo round[$time, 2];
3 giờ, bạn có thể sử dụng chức năng mặc định PHPecho gmdate["H:i:s", 86399];
Sẽ chỉ trả về kết quả cho đến khi
echo round[$time, 2];
3Nếu giây của bạn là nhiều hơn 86399 so với sự trợ giúp của câu trả lời @Volkerk
$time = round[$seconds];
echo sprintf['%02d:%02d:%02d', [$time/3600],[$time/60%60], $time%60];
sẽ là những lựa chọn tốt nhất để sử dụng ...
Đã trả lời ngày 25 tháng 3 năm 2020 lúc 7:58Mar 25, 2020 at 7:58
Chỉnh sửa: Một nhận xét chỉ ra rằng câu trả lời trước đó không thành công nếu số giây vượt quá một ngày [86400 giây]. Đây là phiên bản cập nhật. OP không chỉ định yêu cầu này vì vậy điều này có thể được thực hiện khác với OP có thể mong đợi, và có thể có nhiều câu trả lời tốt hơn ở đây. Tôi không thể đứng trước khi cung cấp câu trả lời với lỗi này.: A comment pointed out that the previous answer fails if the number of seconds exceeds a day [86400 seconds]. Here's an updated version. The OP did not specify this requirement so this may be implemented differently than the OP might expect, and there may be much better answers here already. I just couldn't stand having provided an answer with this bug.
$iSecondsIn = 290.52262423327;
// Account for days.
$iDaysOut = 0;
while [$iSecondsIn >= 86400] {
$iDaysOut += 1;
$iSecondsIn -= 86400;
}
// Display number of days if appropriate.
if [$iDaysOut > 0] {
print $iDaysOut.' days and ';
}
// Print the final product.
print date['H:i:s', mktime[0, 0, $iSecondsIn]];
Phiên bản cũ, với lỗi:
$iSeconds = 290.52262423327;
print date['H:i:s', mktime[0, 0, $iSeconds]];
Đã trả lời ngày 20 tháng 8 năm 2010 lúc 20:21Aug 20, 2010 at 20:21
TeekInteekinTeekin
12.1k15 Huy hiệu vàng52 Huy hiệu bạc66 Huy hiệu Đồng15 gold badges52 silver badges66 bronze badges
2
Thử cái này:
$time = 290.52262423327;
echo date["h:i:s", mktime[0,0, round[$time] % [24*3600]]];
Đã trả lời ngày 20 tháng 8 năm 2010 lúc 20:18Aug 20, 2010 at 20:18
MartyixmartyixMartyIX
27K27 Huy hiệu vàng129 Huy hiệu bạc201 Huy hiệu đồng27 gold badges129 silver badges201 bronze badges
Tôi không biết đây có phải là cách hiệu quả nhất không, nhưng nếu bạn cũng cần hiển thị ngày, điều này hoạt động:
function foo[$seconds] {
$t = round[$seconds];
return sprintf['%02d %02d:%02d:%02d', [$t/86400%24], [$t/3600] -[[$t/86400%24]*24],[$t/60%60], $t%60];
}
Đã trả lời ngày 22 tháng 2 năm 2015 lúc 21:34Feb 22, 2015 at 21:34
SergesergeSerge
3125 Huy hiệu bạc19 Huy hiệu đồng5 silver badges19 bronze badges
Thử cái này :]
00:04:51
02:34:51
24:02:06
0Đã trả lời ngày 22 tháng 4 năm 2015 lúc 13:01Apr 22, 2015 at 13:01
ZagloozaglooZagloo
1.2373 huy hiệu vàng16 Huy hiệu bạc34 Huy hiệu đồng3 gold badges16 silver badges34 bronze badges
Cá nhân, đi ra khỏi các câu trả lời khác của mọi người tôi đã tạo ra trình phân tích cú pháp của riêng mình. Làm việc với ngày, giờ, phút và giây. Và nên dễ dàng mở rộng sang tuần/tháng, v.v ... Nó cũng hoạt động với việc giảm dần thành C#
00:04:51
02:34:51
24:02:06
1Đã trả lời ngày 7 tháng 10 năm 2018 lúc 22:59Oct 7, 2018 at 22:59
Dựa trên //stackoverflow.com/a/3534705/4342230, nhưng thêm ngày:
00:04:51
02:34:51
24:02:06
2Đã trả lời ngày 12 tháng 4 năm 2020 lúc 19:41Apr 12, 2020 at 19:41
GUYPADDOCKGUPAPADDOCKGuyPaddock
1.7491 Huy hiệu vàng20 Huy hiệu bạc21 Huy hiệu đồng1 gold badge20 silver badges21 bronze badges
1]
00:04:51
02:34:51
24:02:06
3bản in
00:04:51
02:34:51
24:02:06
4Nick fAug 20, 2010 at 20:27
9.5057 Huy hiệu vàng72 Huy hiệu bạc89 Huy hiệu ĐồngRob K
Đã trả lời ngày 20 tháng 8 năm 2010 lúc 20:352 gold badges31 silver badges35 bronze badges
Hãy thử cái này
echo round[$time, 2];
5Đã trả lời ngày 15 tháng 7 năm 2014 lúc 9:09
Azam Alviazam Alvi
6.6788 Huy hiệu vàng60 Huy hiệu bạc86 Huy hiệu ĐồngMar 9, 2019 at 19:15
Cho đến
echo round[$time, 2];
3 giờ, bạn có thể sử dụng chức năng mặc định PHPRyanSẽ chỉ trả về kết quả cho đến khi
328 gold badges168 silver badges333 bronze badgesecho round[$time, 2];
Nếu giây của bạn là nhiều hơn 86399 so với sự trợ giúp của câu trả lời @Volkerk
00:04:51
02:34:51
24:02:06
5sẽ là những lựa chọn tốt nhất để sử dụng ...May 7, 2021 at 9:44
00:04:51
02:34:51
24:02:06
6Đã trả lời ngày 25 tháng 3 năm 2020 lúc 7:58Jan 24 at 13:22
Chỉnh sửa: Một nhận xét chỉ ra rằng câu trả lời trước đó không thành công nếu số giây vượt quá một ngày [86400 giây]. Đây là phiên bản cập nhật. OP không chỉ định yêu cầu này vì vậy điều này có thể được thực hiện khác với OP có thể mong đợi, và có thể có nhiều câu trả lời tốt hơn ở đây. Tôi không thể đứng trước khi cung cấp câu trả lời với lỗi này.
- Phiên bản cũ, với lỗi:
- Đã trả lời ngày 20 tháng 8 năm 2010 lúc 20:21
- TeekInteekin
00:04:51
02:34:51
24:02:06
712.1k15 Huy hiệu vàng52 Huy hiệu bạc66 Huy hiệu ĐồngMay 15 at 21:50
Thử cái này:lubosdz
Đã trả lời ngày 20 tháng 8 năm 2010 lúc 20:182 gold badges28 silver badges41 bronze badges
00:04:51
02:34:51
24:02:06
8
Martyixmartyix
129K51 Huy hiệu vàng226 Huy hiệu bạc282 Huy hiệu Đồng51 gold badges226 silver badges282 bronze badges
27K27 Huy hiệu vàng129 Huy hiệu bạc201 Huy hiệu đồngAug 20, 2010 at 20:17
Tôi không biết đây có phải là cách hiệu quả nhất không, nhưng nếu bạn cũng cần hiển thị ngày, điều này hoạt động:Mark Baker
Đã trả lời ngày 22 tháng 2 năm 2015 lúc 21:3431 gold badges339 silver badges381 bronze badges
0