How do I find the unix timestamp for the start of the next day in php?

前端 未结 6 1097
梦毁少年i
梦毁少年i 2021-01-07 19:01

I have a unix timestamp for the current time. I want to get the unix timestamp for the start of the next day.

$current_timestamp = time();
$allowable_start_d         


        
相关标签:
6条回答
  • 2021-01-07 19:42

    The start of the next day is calculated like this:

    <?php
    
    $current_timestamp = time();
    $allowable_start_date = strtotime('tomorrow', $current_timestamp);
    
    echo date('r', $allowable_start_date);
    
    ?>
    

    If it needs to follow your peculiar requirement:

    <?php
    
    $current_timestamp = time();
    $seconds_to_add = strtotime('tomorrow', $current_timestamp) - $current_timestamp;
    
    echo date('r', $current_timestamp + $seconds_to_add);
    
    ?>
    
    0 讨论(0)
  • 2021-01-07 19:53

    The most straightforward way to simply "make" that time:

    $tomorrowMidnight = mktime(0, 0, 0, date('n'), date('j') + 1);
    

    Quote:

    I would like to figure out how many seconds are left in this current day, and only add that many seconds in order to get the unix timestamp for the very first minute of the next day.

    Don't do it like that. Avoid relative calculations whenever possible, especially if it's so trivial to "absolutely" get the timestamp without seconds arithmetics.

    0 讨论(0)
  • 2021-01-07 19:54

    You can easily get tomorrow at midnight timestamp with:

    $tomorrow_timestamp = strtotime('tomorrow');
    

    If you want to be able to do a variable amount of days you could easily do it like so:

    $days = 4;
    $x_num_days_timestamp = strtotime(date('m/d/Y', strtotime("+$days days"))));
    
    0 讨论(0)
  • 2021-01-07 19:59
    $tomorrow = strtotime('+1 day', strtotime(date('Y-m-d')));
    $secondsLeftToday = time() - $tomorrow;
    
    0 讨论(0)
  • 2021-01-07 20:02

    My variant:

     $allowable_start_date = strtotime('today +1 day');
    
    0 讨论(0)
  • 2021-01-07 20:06

    Something simple like:

    $nextday = $current_timestamp + 86400 - ($current_timestamp % 86400);
    

    is what I'd use.

    0 讨论(0)
提交回复
热议问题