Hướng dẫn php seconds to days - php giây đến ngày

Đã hỏi 10 năm, 10 tháng trước 10 years, 10 months ago

Nội phân Chính showShow

  • Làm thế nào để chuyển đổi giây thành vài ngày và phút trong PHP?
  • Làm thế nào để bạn chuyển đổi giây sang giờ và phút?
  • Làm cách nào để chuyển đổi giây sang vài giờ trong mysql?
  • Làm thế nào tôi có thể nhận được phút và giây trong PHP?

Đã xem 183k lần 183k times

Tôi muốn chuyển đổi một biến

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
7 là vài giây, thành ngày, giờ, phút và giây.

Example:

$uptime = 1640467;

Kết quả nên là:

18 days 23 hours 41 minutes

Glavić

41.7K13 Huy hiệu vàng74 Huy hiệu bạc107 Huy hiệu đồng13 gold badges74 silver badges107 bronze badges

Đã hỏi ngày 25 tháng 11 năm 2011 lúc 20:14Nov 25, 2011 at 20:14

0

Điều này có thể đạt được với lớp

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
8

Function:

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}

Use:

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds

thử nghiệm

Hướng dẫn php seconds to days - php giây đến ngày

Pikamander2

6.3433 Huy hiệu vàng42 Huy hiệu bạc63 Huy hiệu Đồng3 gold badges42 silver badges63 bronze badges

Đã trả lời ngày 30 tháng 10 năm 2013 lúc 11:18Oct 30, 2013 at 11:18

GlavićglavićGlavić

41.7K13 Huy hiệu vàng74 Huy hiệu bạc107 Huy hiệu đồng13 gold badges74 silver badges107 bronze badges

11

Đã hỏi ngày 25 tháng 11 năm 2011 lúc 20:14

/** 
 * Convert number of seconds into hours, minutes and seconds 
 * and return an array containing those values 
 * 
 * @param integer $inputSeconds Number of seconds to parse 
 * @return array 
 */ 

function secondsToTime($inputSeconds) {

    $secondsInAMinute = 60;
    $secondsInAnHour  = 60 * $secondsInAMinute;
    $secondsInADay    = 24 * $secondsInAnHour;

    // extract days
    $days = floor($inputSeconds / $secondsInADay);

    // extract hours
    $hourSeconds = $inputSeconds % $secondsInADay;
    $hours = floor($hourSeconds / $secondsInAnHour);

    // extract minutes
    $minuteSeconds = $hourSeconds % $secondsInAnHour;
    $minutes = floor($minuteSeconds / $secondsInAMinute);

    // extract the remaining seconds
    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);

    // return the final array
    $obj = array(
        'd' => (int) $days,
        'h' => (int) $hours,
        'm' => (int) $minutes,
        's' => (int) $seconds,
    );
    return $obj;
}

Điều này có thể đạt được với lớp

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
8

thử nghiệm

6.3433 Huy hiệu vàng42 Huy hiệu bạc63 Huy hiệu Đồng26 gold badges100 silver badges163 bronze badges

Đã trả lời ngày 30 tháng 10 năm 2013 lúc 11:18Nov 25, 2011 at 20:17

GlavićglavićJulian Moreno

Đây là chức năng được viết lại để bao gồm các ngày. Tôi cũng đã thay đổi tên biến để làm cho mã dễ hiểu hơn ...3 gold badges15 silver badges30 bronze badges

6

Nguồn: CodeAid ()-http://codeaid.net/php/convert-seconds-to-hours-minutes-and-seconds-(php)

Matthew

27.3K26 Huy hiệu vàng100 Huy hiệu bạc163 Huy hiệu Đồngthis code would give

Đã trả lời ngày 25 tháng 11 năm 2011 lúc 20:17

Julian Morenojulian Morenohighest voted answer (by Glavić) would give

1.0443 Huy hiệu vàng15 Huy hiệu bạc 30 Huy hiệu Đồng0 hours, 1 minutes and 4 seconds

function secondsToTime($inputSeconds) {
    $secondsInAMinute = 60;
    $secondsInAnHour = 60 * $secondsInAMinute;
    $secondsInADay = 24 * $secondsInAnHour;

    // Extract days
    $days = floor($inputSeconds / $secondsInADay);

    // Extract hours
    $hourSeconds = $inputSeconds % $secondsInADay;
    $hours = floor($hourSeconds / $secondsInAnHour);

    // Extract minutes
    $minuteSeconds = $hourSeconds % $secondsInAnHour;
    $minutes = floor($minuteSeconds / $secondsInAMinute);

    // Extract the remaining seconds
    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);

    // Format and return
    $timeParts = [];
    $sections = [
        'day' => (int)$days,
        'hour' => (int)$hours,
        'minute' => (int)$minutes,
        'second' => (int)$seconds,
    ];

    foreach ($sections as $name => $value){
        if ($value > 0){
            $timeParts[] = $value. ' '.$name.($value == 1 ? '' : 's');
        }
    }

    return implode(', ', $timeParts);
}

Dựa trên câu trả lời của Julian Moreno, nhưng đã thay đổi để đưa ra phản hồi dưới dạng chuỗi (không phải là một mảng), chỉ bao gồm các khoảng thời gian cần thiết và không giả sử số nhiều.

Sự khác biệt giữa câu trả lời được bỏ phiếu cao nhất này là:May 13, 2017 at 19:04

Trong

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
9 giây, mã này sẽ cung cấpLuke Cousins

3 ngày, 1 phút, 4 giây1 gold badge19 silver badges37 bronze badges

2

Trong

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
9 giây, câu trả lời được bỏ phiếu cao nhất (của Glavić) sẽ đưa ra

3 ngày, 0 giờ, 1 phút và 4 giây

function seconds2human($ss) {
$s = $ss%60;
$m = floor(($ss%3600)/60);
$h = floor(($ss%86400)/3600);
$d = floor(($ss%2592000)/86400);
$M = floor($ss/2592000);

return "$M months, $d days, $h hours, $m minutes, $s seconds";
}

Tôi hi vọng điêu nay se giup được ai đo.Aug 25, 2012 at 1:25

Đã trả lời ngày 13 tháng 5 năm 2017 lúc 19:04snippetsofcode

Luke Cousinsluke Cousins2 gold badges10 silver badges10 bronze badges

3

gmdate("d H:i:s",1640467);

2.0191 Huy hiệu vàng19 Huy hiệu bạc37 Huy hiệu đồng

Đây là một hàm PHP 8 dòng đơn giản, chuyển đổi một số giây thành chuỗi có thể đọc được của con người bao gồm số tháng trong số lượng lớn giây:Oct 13, 2014 at 16:41

4

Hàm PHP Second2human ()

  • Đã trả lời ngày 25 tháng 8 năm 2012 lúc 1:25
  • SnippetsofCodesNippetsofCode
  • 9372 Huy hiệu vàng10 Huy hiệu bạc10 Huy hiệu đồng

Kết quả sẽ là 19 23:41:07. Ngay cả khi thời gian là thêm 1 giây, nó khiến ngày thay đổi. Vì vậy, hóa ra 19. Bạn có thể phát nổ kết quả cho nhu cầu của bạn và sửa chữa điều này.here.

function secondsToHumanReadable(int $seconds, int $requiredParts = null)
{
    $from     = new \DateTime('@0');
    $to       = new \DateTime("@$seconds");
    $interval = $from->diff($to);
    $str      = '';

    $parts = [
        'y' => 'year',
        'm' => 'month',
        'd' => 'day',
        'h' => 'hour',
        'i' => 'minute',
        's' => 'second',
    ];

    $includedParts = 0;

    foreach ($parts as $key => $text) {
        if ($requiredParts && $includedParts >= $requiredParts) {
            break;
        }

        $currentPart = $interval->{$key};

        if (empty($currentPart)) {
            continue;
        }

        if (!empty($str)) {
            $str .= ', ';
        }

        $str .= sprintf('%d %s', $currentPart, $text);

        if ($currentPart > 1) {
            // handle plural
            $str .= 's';
        }

        $includedParts++;
    }

    return $str;
}

Đã trả lời ngày 13 tháng 10 năm 2014 lúc 16:41May 10, 2018 at 20:26

Có một số câu trả lời rất tốt ở đây nhưng không ai trong số họ đề cập đến nhu cầu của tôi. Tôi đã xây dựng trên câu trả lời của Glavic để thêm một số tính năng bổ sung mà tôi cần;Ramy Nasr

Đừng in số không. Vì vậy, "5 phút" thay vì "0 giờ, 5 phút"19 silver badges24 bronze badges

2

Xử lý số nhiều đúng cách thay vì mặc định đến dạng số nhiều.

function secondsToDHMS($seconds) {
    $s = (int)$seconds;
    return sprintf('%d:%02d:%02d:%02d', $s/86400, $s/3600%24, $s/60%60, $s%60);
}

Giới hạn đầu ra ở một số đơn vị đã đặt; Vì vậy, "2 tháng, 2 ngày" thay vì "2 tháng, 2 ngày, 1 giờ, 45 phút"Jun 19, 2017 at 22:30

3

Bạn có thể thấy một phiên bản đang chạy của mã ở đây.

Đã trả lời ngày 10 tháng 5 năm 2018 lúc 20:26

18 days 23 hours 41 minutes
0

Ramy Nasrramy NasrDec 23, 2020 at 11:41

the_hasanovthe_hasanovthe_hasanov

2.28719 Huy hiệu bạc24 Huy hiệu đồng7 silver badges14 bronze badges

Ngắn, đơn giản, đáng tin cậy:

18 days 23 hours 41 minutes
1

Đã trả lời ngày 19 tháng 6 năm 2017 lúc 22:30

18 days 23 hours 41 minutes
2

Result:

18 days 23 hours 41 minutes

Ví dụ về LaravelDec 11, 2016 at 21:11

Hơn 700 địa phương hỗ trợ bằng carbon

18 days 23 hours 41 minutes
4

result:

Đã trả lời ngày 23 tháng 12 năm 2020 lúc 11:41

7297 Huy hiệu bạc14 Huy hiệu đồngNov 29, 2013 at 13:53

Cách tiếp cận đơn giản nhất sẽ là tạo một phương thức trả về DateInterVal từ DateTime :: Diff của thời gian tương đối trong $ giây từ thời điểm hiện tại $ Bây giờ mà sau đó bạn có thể chuỗi và định dạng. Ví dụ:-Artur

Bây giờ chuỗi phương thức của bạn gọi đến DateInterval :: Định dạng2 gold badges24 silver badges38 bronze badges

18 days 23 hours 41 minutes
6

Đã trả lời ngày 11 tháng 12 năm 2016 lúc 21:11Apr 12, 2016 at 12:10

Mặc dù đó là câu hỏi khá cũ - người ta có thể thấy những điều này hữu ích (không được viết là nhanh):James Doherty

18 days 23 hours 41 minutes
51 gold badge7 silver badges6 bronze badges

1

Đã trả lời ngày 29 tháng 11 năm 2013 lúc 13:53

18 days 23 hours 41 minutes
7

ArturarturSep 14, 2017 at 10:09

6.9402 Huy hiệu vàng24 Huy hiệu bạc38 Huy hiệu đồngradzserg

Đã trả lời ngày 12 tháng 4 năm 2016 lúc 12:101 gold badge9 silver badges22 bronze badges

18 days 23 hours 41 minutes
8

James Dohertyjames DohertyJan 8, 2018 at 13:07

0

1.1711 Huy hiệu vàng7 Huy hiệu bạc 6 Huy hiệu đồng

18 days 23 hours 41 minutes
9

Giải pháp nên loại trừ 0 giá trị và đặt các giá trị số ít/số nhiều chính xác

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
0

Đã trả lời ngày 14 tháng 9 năm 2017 lúc 10:09Jan 24, 2020 at 17:42

RadzsergradzsergJason

1.0981 Huy hiệu vàng9 Huy hiệu bạc22 Huy hiệu đồng1 silver badge6 bronze badges

2

Đã trả lời ngày 8 tháng 1 năm 2018 lúc 13:07

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
1

/** 
 * Convert number of seconds into hours, minutes and seconds 
 * and return an array containing those values 
 * 
 * @param integer $inputSeconds Number of seconds to parse 
 * @return array 
 */ 

function secondsToTime($inputSeconds) {

    $secondsInAMinute = 60;
    $secondsInAnHour  = 60 * $secondsInAMinute;
    $secondsInADay    = 24 * $secondsInAnHour;

    // extract days
    $days = floor($inputSeconds / $secondsInADay);

    // extract hours
    $hourSeconds = $inputSeconds % $secondsInADay;
    $hours = floor($hourSeconds / $secondsInAnHour);

    // extract minutes
    $minuteSeconds = $hourSeconds % $secondsInAnHour;
    $minutes = floor($minuteSeconds / $secondsInAMinute);

    // extract the remaining seconds
    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);

    // return the final array
    $obj = array(
        'd' => (int) $days,
        'h' => (int) $hours,
        'm' => (int) $minutes,
        's' => (int) $seconds,
    );
    return $obj;
}
1 ->
/** 
 * Convert number of seconds into hours, minutes and seconds 
 * and return an array containing those values 
 * 
 * @param integer $inputSeconds Number of seconds to parse 
 * @return array 
 */ 

function secondsToTime($inputSeconds) {

    $secondsInAMinute = 60;
    $secondsInAnHour  = 60 * $secondsInAMinute;
    $secondsInADay    = 24 * $secondsInAnHour;

    // extract days
    $days = floor($inputSeconds / $secondsInADay);

    // extract hours
    $hourSeconds = $inputSeconds % $secondsInADay;
    $hours = floor($hourSeconds / $secondsInAnHour);

    // extract minutes
    $minuteSeconds = $hourSeconds % $secondsInAnHour;
    $minutes = floor($minuteSeconds / $secondsInAMinute);

    // extract the remaining seconds
    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);

    // return the final array
    $obj = array(
        'd' => (int) $days,
        'h' => (int) $hours,
        'm' => (int) $minutes,
        's' => (int) $seconds,
    );
    return $obj;
}
2

Đã trả lời ngày 24 tháng 11 năm 2016 lúc 2:43Nov 24, 2016 at 2:43

Hanshenrikhanshenrikhanshenrik

18.1k3 Huy hiệu vàng39 Huy hiệu bạc77 Huy hiệu đồng3 gold badges39 silver badges77 bronze badges

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
2

Đã trả lời ngày 18 tháng 10 năm 2021 lúc 10:42Oct 18, 2021 at 10:42

1

Tất cả trong một giải pháp. Không cung cấp cho các đơn vị với số không. Sẽ chỉ tạo ra số lượng đơn vị bạn chỉ định (3 theo mặc định). Khá dài, có lẽ không thanh lịch lắm. Xác định là tùy chọn, nhưng có thể có ích trong một dự án lớn.

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
3

Hãy bỏ phiếu xuống, nhưng hãy chắc chắn thử nó trong mã của bạn. Nó có thể chỉ là những gì bạn cần.

Đã trả lời ngày 10 tháng 12 năm 2016 lúc 6:51Dec 10, 2016 at 6:51

Lớp học tôi đã viết có thể được sử dụng. Nó có thể được sử dụng theo cách ngược lại quá.

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
4

Thông tin thêm ở đây https://github.com/lubosremplik/cakephp-interval

Đã trả lời ngày 11 tháng 1 năm 2017 lúc 9:44Jan 11, 2017 at 9:44

Với DateInterval:

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
5

Đã trả lời ngày 16 tháng 3 năm 2018 lúc 13:02Mar 16, 2018 at 13:02

ZayonzayonZayon

Phù hiệu bằng đồng 1122 bronze badges

Được xây dựng hơn một chút, bỏ qua các đơn vị thời gian bằng không

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
6

Đã trả lời ngày 21 tháng 12 năm 2021 lúc 13:04Dec 21, 2021 at 13:04

Daniel J.Daniel J.Daniel J.

2901 Huy hiệu bạc10 Huy hiệu đồng1 silver badge10 bronze badges

Tôi nghĩ rằng carbon sẽ cung cấp cho bạn tất cả các loại mà bạn muốn

Vì vậy, ví dụ của bạn, bạn sẽ thêm mã này

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
7

đầu ra sẽ như thế này

2 tuần 4 ngày 23 giờ 41 phút

Đã trả lời ngày 29 tháng 12 năm 2021 lúc 14:56Dec 29, 2021 at 14:56

Ahmed Bermawyahmed BermawyAhmed Bermawy

2.0904 Huy hiệu vàng35 Huy hiệu bạc41 Huy hiệu đồng4 gold badges35 silver badges41 bronze badges

Dưới đây là một số mã mà tôi muốn sử dụng cho mục đích nhận thời lượng giữa hai ngày. Nó chấp nhận hai ngày và cung cấp cho bạn một câu trả lời có cấu trúc tốt.

Đây là một phiên bản sửa đổi một chút của mã được tìm thấy ở đây.

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
8

Nguồn: https://gist.github.com/ozh/8169202

Đã trả lời ngày 26 tháng 5 năm 2016 lúc 10:01May 26, 2016 at 10:01

Giải pháp cho giải pháp này tôi đã sử dụng (trở lại ngày trong khi học PHP) mà không có bất kỳ chức năng nào:

function secondsToTime($seconds) {
    $dtF = new \DateTime('@0');
    $dtT = new \DateTime("@$seconds");
    return $dtF->diff($dtT)->format('%a days, %h hours, %i minutes and %s seconds');
}
9

Mặc dù đây là một câu hỏi cũ, những người học mới bắt gặp điều này, có thể thấy câu trả lời này hữu ích.

Đã trả lời ngày 5 tháng 1 năm 2019 lúc 8:50Jan 5, 2019 at 8:50

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
0

Đã trả lời ngày 24 tháng 11 năm 2019 lúc 14:35Nov 24, 2019 at 14:35

Tôi đang chỉnh sửa một trong những mã để hoạt động tốt khi giá trị âm đến. Hàm

/** 
 * Convert number of seconds into hours, minutes and seconds 
 * and return an array containing those values 
 * 
 * @param integer $inputSeconds Number of seconds to parse 
 * @return array 
 */ 

function secondsToTime($inputSeconds) {

    $secondsInAMinute = 60;
    $secondsInAnHour  = 60 * $secondsInAMinute;
    $secondsInADay    = 24 * $secondsInAnHour;

    // extract days
    $days = floor($inputSeconds / $secondsInADay);

    // extract hours
    $hourSeconds = $inputSeconds % $secondsInADay;
    $hours = floor($hourSeconds / $secondsInAnHour);

    // extract minutes
    $minuteSeconds = $hourSeconds % $secondsInAnHour;
    $minutes = floor($minuteSeconds / $secondsInAMinute);

    // extract the remaining seconds
    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);

    // return the final array
    $obj = array(
        'd' => (int) $days,
        'h' => (int) $hours,
        'm' => (int) $minutes,
        's' => (int) $seconds,
    );
    return $obj;
}
3 không đưa ra số lượng chính xác khi giá trị âm. Vì vậy, chúng ta cần sử dụng hàm
/** 
 * Convert number of seconds into hours, minutes and seconds 
 * and return an array containing those values 
 * 
 * @param integer $inputSeconds Number of seconds to parse 
 * @return array 
 */ 

function secondsToTime($inputSeconds) {

    $secondsInAMinute = 60;
    $secondsInAnHour  = 60 * $secondsInAMinute;
    $secondsInADay    = 24 * $secondsInAnHour;

    // extract days
    $days = floor($inputSeconds / $secondsInADay);

    // extract hours
    $hourSeconds = $inputSeconds % $secondsInADay;
    $hours = floor($hourSeconds / $secondsInAnHour);

    // extract minutes
    $minuteSeconds = $hourSeconds % $secondsInAnHour;
    $minutes = floor($minuteSeconds / $secondsInAMinute);

    // extract the remaining seconds
    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);

    // return the final array
    $obj = array(
        'd' => (int) $days,
        'h' => (int) $hours,
        'm' => (int) $minutes,
        's' => (int) $seconds,
    );
    return $obj;
}
4 trước khi sử dụng nó trong hàm
/** 
 * Convert number of seconds into hours, minutes and seconds 
 * and return an array containing those values 
 * 
 * @param integer $inputSeconds Number of seconds to parse 
 * @return array 
 */ 

function secondsToTime($inputSeconds) {

    $secondsInAMinute = 60;
    $secondsInAnHour  = 60 * $secondsInAMinute;
    $secondsInADay    = 24 * $secondsInAnHour;

    // extract days
    $days = floor($inputSeconds / $secondsInADay);

    // extract hours
    $hourSeconds = $inputSeconds % $secondsInADay;
    $hours = floor($hourSeconds / $secondsInAnHour);

    // extract minutes
    $minuteSeconds = $hourSeconds % $secondsInAnHour;
    $minutes = floor($minuteSeconds / $secondsInAMinute);

    // extract the remaining seconds
    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);

    // return the final array
    $obj = array(
        'd' => (int) $days,
        'h' => (int) $hours,
        'm' => (int) $minutes,
        's' => (int) $seconds,
    );
    return $obj;
}
3. Biến
/** 
 * Convert number of seconds into hours, minutes and seconds 
 * and return an array containing those values 
 * 
 * @param integer $inputSeconds Number of seconds to parse 
 * @return array 
 */ 

function secondsToTime($inputSeconds) {

    $secondsInAMinute = 60;
    $secondsInAnHour  = 60 * $secondsInAMinute;
    $secondsInADay    = 24 * $secondsInAnHour;

    // extract days
    $days = floor($inputSeconds / $secondsInADay);

    // extract hours
    $hourSeconds = $inputSeconds % $secondsInADay;
    $hours = floor($hourSeconds / $secondsInAnHour);

    // extract minutes
    $minuteSeconds = $hourSeconds % $secondsInAnHour;
    $minutes = floor($minuteSeconds / $secondsInAMinute);

    // extract the remaining seconds
    $remainingSeconds = $minuteSeconds % $secondsInAMinute;
    $seconds = ceil($remainingSeconds);

    // return the final array
    $obj = array(
        'd' => (int) $days,
        'h' => (int) $hours,
        'm' => (int) $minutes,
        's' => (int) $seconds,
    );
    return $obj;
}
6 có thể là sự khác biệt giữa dấu thời gian hiện tại và ngày cần thiết.

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
1

Đã trả lời ngày 1 tháng 6 năm 2020 lúc 12:04Jun 1, 2020 at 12:04

Một biến thể trên câu trả lời của @glavić - cái này ẩn các số không dẫn đầu cho kết quả ngắn hơn và sử dụng số nhiều ở các nơi chính xác. Nó cũng loại bỏ độ chính xác không cần thiết (ví dụ: nếu chênh lệch thời gian là hơn 2 giờ, có lẽ bạn không quan tâm bao nhiêu phút hoặc giây).

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
2
echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
3

Đã trả lời ngày 10 tháng 6 năm 2020 lúc 19:30Jun 10, 2020 at 19:30

Mike Furlendermike FurlenderMike Furlender

3.7895 huy hiệu vàng46 Huy hiệu bạc72 Huy hiệu đồng5 gold badges46 silver badges72 bronze badges

Đã thêm một số định dạng được sửa đổi từ câu trả lời tuyệt vời của Glavić cho phong cách Facebook thời gian đăng lên ....

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
4

Đã trả lời ngày 6 tháng 7 năm 2021 lúc 8:48Jul 6, 2021 at 8:48

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
5

$ giá trị đến từ cơ sở dữ liệu. Mã này là trong Codeigniter. $ Phiên được sử dụng để lưu trữ đăng ký người dùng. nó là bắt buộc. Tôi đã sử dụng nó trong trường hợp của tôi, bạn có thể sử dụng bất cứ thứ gì bạn muốn.

Đã trả lời ngày 17 tháng 6 năm 2019 lúc 9:02Jun 17, 2019 at 9:02

Tayyab Hayattayyab HayatTayyab Hayat

7371 Huy hiệu vàng8 Huy hiệu bạc21 Huy hiệu đồng1 gold badge8 silver badges21 bronze badges

2

Đây là một chức năng tôi đã sử dụng trong quá khứ để điều chỉnh một ngày từ một ngày khác liên quan đến câu hỏi của bạn, Principe của tôi là để có được bao nhiêu ngày, giờ vài phút và giây cho đến khi một sản phẩm hết hạn:

echo secondsToTime(1640467);
# 18 days, 23 hours, 41 minutes and 7 seconds
6

Đã trả lời ngày 6 tháng 1 năm 2015 lúc 12:59Jan 6, 2015 at 12:59

Krazii Kiidkrazii KiidKrazii KiiD

1231 Huy hiệu vàng2 Huy hiệu bạc9 Huy hiệu đồng1 gold badge2 silver badges9 bronze badges

1

Làm thế nào để chuyển đổi giây thành vài ngày và phút 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). "\N"; ?>

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

Trong trường hợp này, các chữ số phút 30 được liên kết với số lượng một nửa. Chuyển đổi giữa giờ, phút và giây bằng thời gian thập phân tương đối đơn giản: thời gian tính bằng giây = thời gian tính bằng phút * 60 = thời gian tính bằng giờ * 3600. Thời gian tính bằng phút = thời gian tính bằng giây / 60 = thời gian tính bằng giờ * 60.time in seconds = time in minutes * 60 = time in hours * 3600. time in minutes = time in seconds / 60 = time in hours * 60.

Làm cách nào để chuyển đổi giây sang vài giờ trong mysql?

mysql> chọn t1, -> time_to_sec (t1) là 'giây', -> time_to_sec (t1)/60 là 'phút', -> time_to_sec (t1)/(60*60) là 'giờ', -> Time_to_sec ( t1)/(24*60*60) là 'ngày' -> từ time_val; +----------+---------+----------+-------+------+| t1 | giây | phút | giờ | ngày | +----------+---------+----------+-------+------ ...SELECT t1, -> TIME_TO_SEC(t1) AS 'seconds', -> TIME_TO_SEC(t1)/60 AS 'minutes', -> TIME_TO_SEC(t1)/(60*60) AS 'hours', -> TIME_TO_SEC(t1)/(24*60*60) AS 'days' -> FROM time_val; +----------+---------+---------+-------+------+ | t1 | seconds | minutes | hours | days | +----------+---------+---------+-------+------ ...

Làm thế nào tôi có thể nhận được phút và giây trong PHP?

Chương trình PHP // PHP để chuyển đổi giây thành // giờ, phút và giây $ giây = 6530; $ secs = $ giây % 60; $ hrs = $ giây / 60; $ MINS = $ HRS % 60; $ hrs = $ hrs / 60; in ("HH: mm: ss->". (int) $ hrs.$seconds = 6530; $secs = $seconds % 60; $hrs = $seconds / 60; $mins = $hrs % 60; $hrs = $hrs / 60; print ("HH:MM:SS-> " . (int)$hrs .