sql >> Databasteknik >  >> RDS >> Mysql

Hur får jag nästa månadsdatum från dagens datum och infogar det i min databas?

Du kan använda PHP:s strtotime() funktion:

// One month from today
$date = date('Y-m-d', strtotime('+1 month'));

// One month from a specific date
$date = date('Y-m-d', strtotime('+1 month', strtotime('2015-01-01')));

Observera bara att +1 month beräknas inte alltid intuitivt. Det verkar alltid lägga till antalet dagar som finns i den aktuella månaden.

Current Date  | +1 month
-----------------------------------------------------
2015-01-01    | 2015-02-01   (+31 days)
2015-01-15    | 2015-02-15   (+31 days)
2015-01-30    | 2015-03-02   (+31 days, skips Feb)
2015-01-31    | 2015-03-03   (+31 days, skips Feb)
2015-02-15    | 2015-03-15   (+28 days)
2015-03-31    | 2015-05-01   (+31 days, skips April)
2015-12-31    | 2016-01-31   (+31 days)

Några andra datum-/tidsintervall som du kan använda:

$date = date('Y-m-d'); // Initial date string to use in calculation

$date = date('Y-m-d', strtotime('+1 day', strtotime($date)));
$date = date('Y-m-d', strtotime('+1 week', strtotime($date)));
$date = date('Y-m-d', strtotime('+2 week', strtotime($date)));
$date = date('Y-m-d', strtotime('+1 month', strtotime($date)));
$date = date('Y-m-d', strtotime('+30 days', strtotime($date)));


  1. Oracle/SQL - Välj specificerat intervall av sekventiella poster

  2. Lagra UUID som sträng i mysql med JPA

  3. Laravel 5.6 med Count and where statement

  4. Olagligt blandning av sorteringsfel i MySql