2011-10-28 41 views

Trả lời

13
$hours = intval($totalMinutes/60); 
$minutes = $totalMinutes - ($hours * 60); 

Edited là PHP

+1

@Jon Tôi mong đợi hầu hết các lập trình viên có thể thực hiện việc này và có thể làm những gì họ muốn làm với bất kỳ ngôn ngữ nào họ đang làm việc. Bạn nói đúng là nó không phải PHP, nhưng câu hỏi là nó cung cấp cho OP thông tin mà anh ta cần để giải quyết vấn đề? Tôi nghĩ rằng nó sẽ. – corsiKa

10

Loại chuyển đổi này được thực hiện bằng cách sử dụng phân chia số nguyên và toán tử modulo. Với sự phân chia số nguyên bạn tìm ra bao nhiêu của đơn vị "lớn" bạn có và với modulo bạn tìm ra bao nhiêu của đơn vị "nhỏ" đang còn sót lại:

define('MINUTES_PER_HOUR', 60); 

$total_minutes = 525; 
$hours = intval($total_minutes/MINUTES_PER_HOUR); // integer division 
$mins = $total_minutes % MINUTES_PER_HOUR;   // modulo 

printf("%d minutes is really %02d:%02d.\n", $total_minutes, $hours, $mins); 

See it in action.

+0

Chỉ để thêm vào câu trả lời này. % Là toán tử modulo cho phần còn lại của bộ phận. I E. 8% 5 = 3. – NickLH

+0

Wow câu trả lời tuyệt vời, cảm ơn bạn và cảm ơn những người khác với câu trả lời! – Valoda

2

floor(525/60) cho số giờ (8.75 làm tròn xuống 8).

525 % 60 cho số phút (toán tử modulo).

+0

525/60 sẽ trả về 8.75 nhưng 75 thì sao? vẫn còn một giờ .. !! làm thế nào chúng ta có thể thêm điều này trong giờ? –

1

Những gì tôi đã làm cho bạn gái của tôi thực hiện biểu đồ của mình với khoảng 60 phút, ví dụ: 1 = 60,2 = 120,3 = 180,4 = 240,5 = 300,6 = 360 vv, sau đó tôi nói với cô ấy lấy số phút của cô ấy, ví dụ 337 tìm số gần nhất mà không qua đó sẽ là 5 rồi dùng số 5 bằng và trừ số phút ban đầu của bạn 337-300 = 37 phần còn lại là số phút 337 phút bằng 5 giờ và 37 phút

Các vấn đề liên quan