PHP chuyển đổi giây thành giờ, phút, $ giây

Lisa và tôi (Graham) hiện đang sống tại trung tâm đào tạo của chúng tôi ở Melksham - rất vui được gặp các cựu đại biểu ở đây - nhưng hãy kiểm tra trước khi đến. Chúng ta còn lâu mới không hoạt động - đúng hơn là tận hưởng khoảng thời gian mà chúng ta đã nghỉ hưu nhưng vẫn đủ khỏe mạnh về tinh thần và thể chất để hoạt động

Tôi cũng đang hoạt động trong nhiều lĩnh vực khác và vẫn chăm sóc rất nhiều trang web - bạn có thể tìm thấy một chỉ mục ((tại đây))

Bạn có thể làm điều này trong một lớp lót bằng cách sử dụng các phương thức JSON nếu bạn sẵn sàng giảm một chút hiệu năng (mặc dù một số đã báo cáo rằng nó nhanh hơn so với việc lặp qua các đối tượng theo cách đệ quy - rất có thể là do PHP gọi hàm chậm). "Nhưng tôi đã làm điều này rồi" bạn nói. Không chính xác - bạn đã sử dụng json_decode trên mảng, nhưng trước tiên bạn cần mã hóa nó bằng json_encode

Yêu cầu

Các phương thức json_encode và json_decode. Chúng được tự động đóng gói trong PHP 5. 2. 0 trở lên. Nếu bạn sử dụng bất kỳ phiên bản cũ nào thì cũng có thư viện PECL (có nghĩa là, trong trường hợp đó, bạn thực sự nên cập nhật cài đặt PHP của mình. Hỗ trợ cho 5. 1 dừng lại vào năm 2006. )

Chúng ta phải dịch ngày từ thời khóa biểu sang định dạng dữ liệu mong muốn bằng cách sử dụng hàm ngày (dấu thời gian, 'định dạng ngày'), để có được kết quả trên

Tuy nhiên, ở đây chúng tôi chuyển đổi giây sang định dạng ngày dành riêng cho người dùng, giống như chúng tôi muốn hiển thị bên dưới

“14 ngày, sáu giờ, 56 phút, bảy giây”

Bạn cũng có thể xem các hướng dẫn Date PHP được đề xuất khác,

  • Cách nhận chênh lệch ngày so với ngày trong PHP
  • Cách chuyển đổi giây thành ngày, giờ và phút

The simple hours formula:
hours = seconds ÷ 3,600

Thời gian tính bằng giờ bằng thời gian tính bằng giây chia cho 3.600. Vì có 3.600 giây trong một giờ nên đó là tỷ lệ chuyển đổi được sử dụng trong công thức

Hàm PHP để chuyển đổi giây thành ngày, giờ, phút và giây

function secsToStr($secs) {  
    if($secs>=86400){$days=floor($secs/86400);$secs=$secs%86400;$r=$days.' day';if($days<>1){$r.='s';}if($secs>0){$r.=', ';}}  
    if($secs>=3600){$hours=floor($secs/3600);$secs=$secs%3600;$r.=$hours.' hour';if($hours<>1){$r.='s';}if($secs>0){$r.=', ';}}  
    if($secs>=60){$minutes=floor($secs/60);$secs=$secs%60;$r.=$minutes.' minute';if($minutes<>1){$r.='s';}if($secs>0){$r.=', ';}}  
    $r.=$secs.' second';if($secs<>1){$r.='s';}  
    return $r;  
}

Cách sử dụng đơn giản
echo secsToStr(90360);

đầu ra
1 ngày, 1 giờ, 6 phút 0 giây

Lựa chọn 2. Chuyển đổi Giây thành Ngày, Giờ và Phút

Đoạn mã sau rất đơn giản, để chuyển giây độc lập hoặc trộn thành ngày, giờ và phút

Giả sử bạn đang chạy một tiến trình chạy trong nền. Tốt hơn hết 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 chuyển đổi giây thành 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

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 để chuyển đổi giây thành giờ và phút trong PHP?

php $init = 685; . $ phút. $seconds"; ?> Lưu câu trả lời này. Hiển thị hoạt động trên bài đăng này. Lưu câu trả lời này.

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

Làm cách nào để chuyển đổi thời gian thành phút trong PHP?

Chương trình. Viết chương trình đổi giờ thành phút giây bằng PHP. .
chuyển đổi chức năng ($ giờ)
$phút = $giờ * 60;
$giây = $giờ * 3600;
echo("Hours = " . $ hours . "< br>");.
echo("Có". $ phút. " vài phút nữa ". $ giờ. ".
echo("Có". $ giây. " giây sau ". $

Công thức để chuyển đổi giây thành giờ là gì?

Để chuyển đổi từ giây sang giờ, chia số giây cho 3600 . Ví dụ. Chuyển đổi 60 giây trong một giờ. Như chúng ta đã biết công thức giây đến giờ, chúng ta cần chia thời gian đã cho cho 3600.