get next and previous day with PHP

后端 未结 11 734
悲哀的现实
悲哀的现实 2020-11-28 03:44

I have got two arrows set up, click for next day, next two days, soon and previous day, two days ago, soon. the code seem not working? as it only get one next and previous d

相关标签:
11条回答
  • 2020-11-28 03:59

    just in case if you want next day or previous day from today's date

    date("Y-m-d", mktime(0, 0, 0, date("m"),date("d")-1,date("Y")));

    just change the "-1" to the "+1" regards, Yosafat

    0 讨论(0)
  • 2020-11-28 04:01

    Very easy with the dateTime() object, too.

    $tomorrow = new DateTime('tomorrow');
    echo $tomorrow->format("Y-m-d"); // Tomorrow's date
    
    $yesterday = new DateTime('yesterday');
    echo $yesterday->format("Y-m-d"); // Yesterday's date
    
    0 讨论(0)
  • 2020-11-28 04:02

    Requirement: PHP 5 >= 5.2.0

    You should make use of the DateTime and DateInterval classes in Php, and things will turn to be very easy and readable.

    Example: Lets get the previous day.

    // always make sure to have set your default timezone
    date_default_timezone_set('Europe/Berlin');
    
    // create DateTime instance, holding the current datetime
    $datetime = new DateTime();
    
    // create one day interval
    $interval = new DateInterval('P1D');
    
    // modify the DateTime instance
    $datetime->sub($interval);
    
    // display the result, or print_r($datetime); for more insight 
    echo $datetime->format('Y-m-d');
    
    
    /** 
    * TIP:
    * if you dont want to change the default timezone, use
    * use the DateTimeZone class instead.
    *
    * $myTimezone = new DateTimeZone('Europe/Berlin');
    * $datetime->setTimezone($myTimezone); 
    *
    * or just include it inside the constructor 
    * in this form new DateTime("now",   $myTimezone);
    */
    

    References: Modern PHP, New Features and Good Practices By Josh Lockhart

    0 讨论(0)
  • 2020-11-28 04:03

    Php script -1****its to Next Date

    <?php
    
    $currentdate=date('Y-m-d');
    
    
    $date_arr=explode('-',$currentdate);
    
    
    $next_date=
    Date("Y-m-d",mktime(0,0,0,$date_arr[1],$date_arr[2]+1,$date_arr[0]));
    
    
    
    echo $next_date;
    ?>**
    
    **Php script -1****its to Next year**
    
    
    <?php
    
    $currentdate=date('Y-m-d');
    
    
    $date_arr=explode('-',$currentdate);
    
    
    $next_date=
    Date("Y-m-d",mktime(0,0,0,$date_arr[1],$date_arr[2],$date_arr[0]+1));
    
    
    
    echo $next_date;
    ?>
    
    0 讨论(0)
  • 2020-11-28 04:03

    always make sure to have set your default timezone

    date_default_timezone_set('Europe/Berlin');
    

    create DateTime instance, holding the current datetime

    $datetime = new DateTime();
    

    create one day interval

    $interval = new DateInterval('P1D');
    

    modify the DateTime instance

    $datetime->sub($interval);
    

    display the result, or print_r($datetime); for more insight

    echo $datetime->format('Y-m-d');
    

    TIP:

    If you don't want to change the default timezone, use the DateTimeZone class instead.

    $myTimezone = new DateTimeZone('Europe/Berlin');
    $datetime->setTimezone($myTimezone); 
    

    or just include it inside the constructor in this form new DateTime("now", $myTimezone);

    0 讨论(0)
  • 2020-11-28 04:10

    it is enough to call it this way:

    <a href="home.php?date=<?= date('Y-m-d', strtotime('-1 day')) ?>" class="prev_day" title="Previous Day" ></a>
    <a href="home.php?date=<?= date('Y-m-d', strtotime('+1 day')) ?>" class="next_day" title="Next Day" ></a>
    

    Also see the documentation.

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