PHP giờ phút giây

Giả sử bạn đang chạy một tiến trình chạy trong nền. Tốt hơn là đừng để người dùng mất kiên nhẫn và cho họ biết khi nào nó sẽ kết thúc. Tuy nhiên, bạn có thời gian còn lại tính bằng giây. Nếu chúng tôi hiển thị cho người dùng

567 seconds to complete

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

Điểm chính trong giao diện người dùng là

Don't irritate the user

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

Thử nghiệm

PHP giờ phút giây

Đây là một chức năng đơn giản để chuyển đổi giây thành 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 thắc mắc tại sao tôi lại chọn secToHR làm tên chức năng, thì đó là từ viết tắt của Seconds to Human Readable

Mã nguồn để chuyển đổi giây thành giờ, phút và giây được cung cấp bên dưới. Chương trình đã cho được biên dịch và thực thi thành công

 " . (int)$hrs . ":" . (int)$mins . ":" . (int)$secs);

?>

đầu ra

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

Giải trình

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

Bài viết này trình bày cách chuyển đổi giây thành giờ-phút-giây trong PHP

1. Sử dụng chức năng gmdate()

Với chức năng gmdate() , bạn có thể dễ dàng chia giây đã cho thành các khoảng thời gian giờ-phút-giây. Nó lấy định dạng của chuỗi ngày xuất ra và tham số dấu thời gian tùy chọn, theo thứ tự đó. Ý tưởng là chuyển định dạng H:i:s trong tham số chuỗi ngày và số giây trong tham số dấu thời gian.

1

2

3

4

$seconds = 3675;

echo gmdate("H. i. s", $giây);        // 01:01:15

?>

Tải xuống Chạy mã

 
Ở đây, H đại diện cho giờ ở định dạng 24 giờ (00 đến 23), i đại diện cho phút (00 đến 59) và s đại diện cho giây (00 đến 59), tất cả đều có số 0 đứng đầu. Tuy nhiên, điều này chỉ hoạt động nếu số giây nhỏ hơn 86400, tôi. e. , 1 ngày (60 x 60 x 24)

2. Sử dụng chức năng DateTime::diff()

Ý tưởng là xây dựng một đối tượng DateTime bằng cách sử dụng các ký hiệu được bản địa hóa, với "@" đại diện cho dấu thời gian Unix và nhận sự khác biệt của nó với thời gian Epoch bằng cách sử dụng DateTime. hàm diff() . Sau đó, bạn có thể trích xuất thông tin số giờ, phút và giây từ đối tượng kết quả là DateInterval bằng cách sử dụng các thuộc tính h, is tương ứng.

1

2

3

4

5

6

7

8

9

10

11

12

13

$seconds = 43675;

 

$start = new DateTime("@0");

$end = new DateTime("@$seconds");

$interval = $start->diff<($end);

 

$H = $interval->ngày< * 24 + $interval->h;

$i = $interval->i<;

$s = $interval->s<;

 

echo sprintf("%02d. %02d. %02d", $H, $i, $s);    // 12:07:55

?>

Tải xuống Chạy mã

 
Một phép tính toán học đơn giản cũng có thể được sử dụng để chia số giây đã cho thành các khoảng thời gian giờ-phút-giây, như minh họa bên dưới

1

2

3

4

5

6

7

8

9

$seconds = 43675;

 

$H = sàn($giây / 3600);

$i = tầng(($seconds / 60) % 60);

$s = $giây % 60;

 

echo sprintf("%02d. %02d. %02d", $H, $i, $s);    // 12:07:55

?>

Tải xuống Chạy mã

Đó là tất cả để chuyển đổi giây trong PHP thành giờ-phút-giây

Làm cách nào để hiển thị giờ phút và giây trong PHP?

H - Định dạng 24 giờ của một giờ (00 đến 23) i - Phút có số 0 đứng đầu (00 đến 59) s -

Làm cách nào để đặt định dạng thời gian trong PHP?

Hàm PHP date() được sử dụng để định dạng ngày và/hoặc thời gian. .
H - định dạng 24 giờ của một giờ (00 đến 23)
h - Định dạng 12 giờ của một giờ với các số 0 đứng đầu (01 đến 12)
i - Phút có số 0 đứng đầu (00 đến 59)
s - Giây có số 0 đứng đầu (00 đến 59)
a - Chữ thường Ante meridiem và Post meridiem (sáng hoặc chiều)

thời gian () trong PHP là gì?

Hàm time() trả về thời gian hiện tại theo số giây kể từ Unix Epoch (1 tháng 1 năm 1970 00. 00. 00 giờ GMT).

Làm cách nào để định dạng dấu thời gian trong PHP?

“format” là định dạng chung mà chúng ta muốn đầu ra của mình là i. e. ; .
“Y-m-d” cho định dạng ngày PHP YYYY-MM-DD
“Y” để hiển thị năm hiện tại
“[dấu thời gian]” là tùy chọn. Nếu không có dấu thời gian nào được cung cấp, PHP sẽ lấy ngày giờ PHP hiện tại trên máy chủ

Làm cách nào để đặt thời gian ở định dạng 24 giờ trong PHP?

php //Ngày hiện tại, i. e. 2013-08-01 echo date("Y-m-d"); . e. 08. 50. 55pm echo date("h. i. sa"); //Thời gian hiện tại ở định dạng 24 giờ, i. e. 18. 00. 23 echo date("H. i. s") ; //Tháng hiện tại, i. e. 08 ngày lặp lại ("m"); . e. ngày echo tháng 8("M");