Php get how many days and hours left from a date

前端 未结 6 1382
一生所求
一生所求 2020-12-03 11:47

I have a created_at date saved liked this \"2011-09-23 19:10:18\" And I want to get the days and hours left until the date is reached. How do I do that? and column name in

相关标签:
6条回答
  • 2020-12-03 12:11

    You can find current date and time using date() function and then subtract

    $x = 2011-09-23 - current_date

    this will give you no. of days left.

    Do same with time as well ..

    Hope this helps

    0 讨论(0)
  • 2020-12-03 12:13

    PHP fragment:

    <?php
    
    //Convert to date
    $datestr="2011-09-23 19:10:18";//Your date
    $date=strtotime($datestr);//Converted to a PHP date (a second count)
    
    //Calculate difference
    $diff=$date-time();//time returns current time in seconds
    $days=floor($diff/(60*60*24));//seconds/minute*minutes/hour*hours/day)
    $hours=round(($diff-$days*60*60*24)/(60*60));
    
    //Report
    echo "$days days $hours hours remain<br />";
    ?>
    

    Note the hour-round and no minutes/seconds consideration means it can be slightly inaccurate.

    0 讨论(0)
  • 2020-12-03 12:13

    it would be something like

    echo $date = date("Y-m-d H:i:s");echo "\n";
    
    $original=time($date);
    
    
    $modified = "2011-09-23 19:10:18";
    
    echo date("Y-m-d H:i:s",$modified);echo "\n";
    
    0 讨论(0)
  • 2020-12-03 12:17

    The easiest way is improved answer from CountZero. I used this solution for counter for time remaining before expiration of offer. Addition to first three lines of CountZero code:

    $days = $interval->d;
    $hours = $interval->h;
    $minutes = $interval->i;
    $seconds = $interval->s;
    

    And now, you can use string functions to moderate your return values, to merge all or add '0' or '00' in front of the values.

    0 讨论(0)
  • 2020-12-03 12:22

    as of PHP 5.3.0 you could use build-in Date object:

    $datetime1 = new DateTime('2009-10-11');
    $datetime2 = new DateTime('2009-10-13');
    $interval = $datetime1->diff($datetime2);
    echo $interval->format('%R%a days');
    

    http://www.php.net/manual/en/book.datetime.php

    0 讨论(0)
  • 2020-12-03 12:24

    This should seed your endeavor.

    getdate(strtotime("2011-09-23 19:10:18"))
    

    Full conversion:

    $seconds = strtotime("2011-09-23 19:10:18") - time();
    
    $days = floor($seconds / 86400);
    $seconds %= 86400;
    
    $hours = floor($seconds / 3600);
    $seconds %= 3600;
    
    $minutes = floor($seconds / 60);
    $seconds %= 60;
    
    
    echo "$days days and $hours hours and $minutes minutes and $seconds seconds";
    
    0 讨论(0)
提交回复
热议问题