cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menambah bilangan hari dalam $Date dalam PHP

<p>Saya mempunyai tarikh yang dikembalikan sebagai sebahagian daripada pertanyaan MySQL dalam format <code>2010-09-17</code>. </p> <p>Saya mahu menetapkan pembolehubah $Date2 kepada $Date5 seperti berikut: </p> <p><kod>$Date2 = $Date + 1</code></p> <p><kod>$Date3 = $Date + 2</code></p> <p>Tunggu, ini mengembalikan <kod>2010-09-18</kod>, <kod>2010-09-19</kod> dan seterusnya. </p> <p>Saya cuba</p> <pre class="brush:php;toolbar:false;">date('Y-m-d', strtotime($Date. ' + 1 day'))</pre> <p>Tetapi ini mengembalikan saya tarikh <em>sebelum </em><kod>$Date</code>. </p> <p>Adakah terdapat cara yang betul untuk mendapatkan tarikh saya dalam format 'Y-m-d' supaya ia boleh digunakan dalam pertanyaan lain? </p>
P粉741678385P粉741678385526 hari yang lalu573

membalas semua(2)saya akan balas

  • P粉393030917

    P粉3930309172023-08-21 13:28:25

    Jika anda menggunakan PHP 5.3, anda boleh menggunakan kaedah DateTime对象及其add:

    $Date1 = '2010-09-17';
    $date = new DateTime($Date1);
    $date->add(new DateInterval('P1D')); // P1D表示1天的时间段
    $Date2 = $date->format('Y-m-d');

    Lihat halaman manual DateInterval DateInterval构造函数手册页面,了解如何构造其他时间段以添加到您的日期(例如2天为'P2D',3天为'P3D' untuk mengetahui cara membina tempoh masa lain untuk ditambahkan pada tarikh anda (cth. 2 hari untuk 'P2D', 3 hari untuk < code >'P3D', dsb.).

    Jika anda tidak mempunyai PHP 5.3, anda sepatutnya boleh menggunakannya seperti sebelum ini strtotime (Saya telah mengujinya dan ia berfungsi dalam kedua-dua 5.1.6 dan 5.2.10):

    $Date1 = '2010-09-17';
    $Date2 = date('Y-m-d', strtotime($Date1 . " + 1 day"));
    // var_dump($Date2)返回"2010-09-18"

    balas
    0
  • P粉258788831

    P粉2587888312023-08-21 09:02:28

    Anda hanya perlu menggunakan days而不是day seperti ini:

    <?php
    $Date = "2010-09-17";
    echo date('Y-m-d', strtotime($Date. ' + 1 days'));
    echo date('Y-m-d', strtotime($Date. ' + 2 days'));
    ?>

    Ia akan mengeluarkan dengan betul:

    2010-09-18
    2010-09-19

    balas
    0
  • Batalbalas