Hướng dẫn how to convert seconds to hours and minutes in php? - làm thế nào để chuyển đổi giây sang giờ và phút trong php?

Giải pháp từ: //gist.github.com/stevejobzniak/c91a8e2426bac5cb9b0cbc1bdbc45e4b

Mã này tránh các cuộc gọi chức năng tẻ nhạt và việc xây dựng chuỗi từng mảnh càng nhiều càng tốt, và các chức năng lớn và cồng kềnh mà mọi người đang thực hiện cho việc này.

Nó trả về một đầu ra ở định dạng "1H05M00S" và sử dụng các số 0 hàng đầu trong vài phút và giây, miễn là một thành phần thời gian khác không khác đi trước chúng.

Nó cũng bỏ qua tất cả các thành phần hàng đầu trống để tránh cung cấp cho bạn thông tin vô dụng như "0H00M01S" [thay vào đó sẽ hiển thị là "1s"].

Kết quả ví dụ: "1S", "1M00S", "19M08S", "1H00M00S", "4H08M39S".

$duration = 1; // values 0 and higher are supported!
$converted = [
    'hours' => floor[ $duration / 3600 ],
    'minutes' => floor[ [ $duration / 60 ] % 60 ],
    'seconds' => [ $duration % 60 ]
];
$result = ltrim[ sprintf[ '%02dh%02dm%02ds', $converted['hours'], $converted['minutes'], $converted['seconds'] ], '0hm' ];
if[ $result == 's' ] { $result = '0s'; }

Nếu bạn muốn làm cho mã thậm chí ngắn hơn [nhưng không thể đọc được], bạn có thể tránh mảng

$duration = 1; // values 0 and higher are supported!
$result = ltrim[ sprintf[ '%02dh%02dm%02ds', floor[ $duration / 3600 ], floor[ [ $duration / 60 ] % 60 ], [ $duration % 60 ] ], '0hm' ];
if[ $result == 's' ] { $result = '0s'; }
2 và thay vào đó đặt các giá trị trực tiếp trong cuộc gọi Sprintf [], như sau:

$duration = 1; // values 0 and higher are supported!
$result = ltrim[ sprintf[ '%02dh%02dm%02ds', floor[ $duration / 3600 ], floor[ [ $duration / 60 ] % 60 ], [ $duration % 60 ] ], '0hm' ];
if[ $result == 's' ] { $result = '0s'; }

Thời lượng phải là 0 hoặc cao hơn trong cả hai phần mã ở trên. Thời lượng tiêu cực không được hỗ trợ. Nhưng bạn có thể xử lý các thời lượng âm bằng cách sử dụng mã thay thế sau: Thay vào đó:

$duration = -493; // negative values are supported!
$wasNegative = FALSE;
if[ $duration < 0 ] { $wasNegative = TRUE; $duration = abs[ $duration ]; }
$converted = [
    'hours' => floor[ $duration / 3600 ],
    'minutes' => floor[ [ $duration / 60 ] % 60 ],
    'seconds' => [ $duration % 60 ]
];
$result = ltrim[ sprintf[ '%02dh%02dm%02ds', $converted['hours'], $converted['minutes'], $converted['seconds'] ], '0hm' ];
if[ $result == 's' ] { $result = '0s'; }
if[ $wasNegative ] { $result = "-{$result}"; }
// $result is now "-8m13s"

Trang chủ »Chương trình PHP» PHP

Ở đây, chúng ta sẽ học cách chuyển đổi giây thành giờ, phút và giây trong PHP? Được gửi bởi Nidhi, vào ngày 11 tháng 11 năm 2020how to convert seconds into hours, minutes, and seconds in PHP?
Submitted by Nidhi, on November 11, 2020

Ở đây, chúng tôi sẽ chuyển đổi số giây thành vài giờ, phút và giây.convert the number of seconds into hours, minutes, and seconds.

Chương trình/Mã nguồn:

Mã nguồn để chuyển đổi giây thành giờ, phút và giây được đưa ra dưới đây. Chương trình đã cho được biên soạn và thực hiện thành công.convert seconds into hours, minutes, and seconds is given below. The given program is compiled and executed successfully.


Output:

HH:MM:SS-> 1:48:50

Explanation:

Trong chương trình trên, chúng tôi đã tạo một biến số $ giây, được khởi tạo với 6530 giây. Sau đó, chúng tôi chuyển đổi giây thành vài giờ, phút và giây tương ứng.

Các chương trình Php Class & Object »


Giả sử bạn đang chạy một quá trình chạy trong nền. Nó tốt hơn để không để người dùng mất kiên nhẫn và nói với họ khi nào nó sẽ kết thúc. & Nbsp; Nhưng, bạn có thời gian còn lại trong & nbsp; giây. Nếu chúng tôi hiển thị người dùng:seconds. If we show the user :

567 seconds to complete

Anh ấy/cô ấy [người dùng] sẽ phải lấy máy tính và chuyển đổi thành vài phút hoặc hàng giờ. Hoặc nếu anh chàng/gal không phải là một thiên tài toán học, anh ta sẽ đóng UI và nói "Cái quái gì vậy?"

Điểm chính trong UI là

Don't irritate the user

Đánh dấu lời của tôi: "Bạn không nên làm cho người dùng tức giận".

Dưới đây là một chức năng đơn giản để chuyển đổi giây sang giờ, phút và giây riêng biệt hoặc trộn lẫn với nhau:

function secToHR[$seconds] {
  $hours = floor[$seconds / 3600];
  $minutes = floor[[$seconds / 60] % 60];
  $seconds = $seconds % 60;
  return "$hours:$minutes:$seconds";
}

Nếu bạn đang tự hỏi tại sao tôi chọn Sectohr làm tên hàm, thì đó là viết tắt của & nbsp; giây để có thể đọc được của con người.secToHR as the function name, it’s the abbreviation of Seconds to Human Readable.

Hoặc nếu bạn muốn hiển thị như thế này:

1 hour, 20 minutes remaining
10 minutes, 20 seconds remaining
15 seconds remaining

Sau đó, thay thế chức năng & nbsp; return bằng này:return function with this :

return $hours > 0 ? "$hours hours, $minutes minutes remaining" : [$minutes > 0 ? "$minutes minutes, $seconds seconds remaining" : "$seconds seconds remaining"];

Btw, tôi sẽ đề nghị bạn làm điều đó như ở trên ^, bởi vì nó thân thiện hơn với người dùng.

Cách sử dụng

Đơn giản như nó là:

$duration = 1; // values 0 and higher are supported!
$result = ltrim[ sprintf[ '%02dh%02dm%02ds', floor[ $duration / 3600 ], floor[ [ $duration / 60 ] % 60 ], [ $duration % 60 ] ], '0hm' ];
if[ $result == 's' ] { $result = '0s'; }
0

Và các đầu ra tương ứng:

$duration = 1; // values 0 and higher are supported!
$result = ltrim[ sprintf[ '%02dh%02dm%02ds', floor[ $duration / 3600 ], floor[ [ $duration / 60 ] % 60 ], [ $duration % 60 ] ], '0hm' ];
if[ $result == 's' ] { $result = '0s'; }
1

Tôi đã sử dụng điều này trong ứng dụng tải xuống như tôi đã đề cập trong bài trước.

Làm thế nào chuyển đổi giây sang vài phút và giây trong PHP?

Hàm Php Convert_Seconds [$ Seconds] {$ dt1 = new DateTime ["@0"];$ dt2 = new DateTime ["@$ giây"];trả về $ dt1-> diff [$ dt2]-> định dạng [' %một ngày, %h giờ, %i phút và %s giây'];} echo convert_seconds [200000].

Vì có 3.600 giây trong một giờ, nên cách dễ nhất để chuyển đổi giây đến vài giờ là chia cho 3.600.Chẳng hạn, 4.500 giây chia cho 3.600 là 1,25 giờ.Nếu bạn kết thúc với một phần nhỏ của một giờ và muốn chuyển đổi nó thành phút, nhân tỷ lệ này với 60.

Làm thế nào để chuyển đổi giây thành phút trong PHP?divide by 3,600. For instance, 4,500 seconds divided by 3,600 is 1.25 hours. If you end up with a fraction of an hour and want to convert it into minutes, multiply the fraction by 60.

Làm thế nào để chuyển đổi giây thành phút trong PHP?

Làm thế nào để chuyển đổi giây thành HH MM SS trong PHP?$seconds = 6530; $secs = $seconds % 60; $hrs = $seconds / 60; $mins = $hrs % 60; $hrs = $hrs / 60; print ["HH:MM:SS-> " .

Chuyển đổi thành HH: MM: SS định dạng trong Php - Stack Overflow ..

formattime [123] => 2m 3s ...
Formattime [7400] => 2H 3M 20s ..
formattime [999999] => 11d 13h 46m 39s ..
Làm thế nào để bạn chuyển đổi giây sang giờ và phút?

Bài Viết Liên Quan

Chủ Đề