2 Stimmen

Der Umgang mit Daten

Ich muss Folgendes tun:

  1. Ich möchte ein Datum in ein datetime MySQL-Feld 30 Tage ab dem aktuellen Datum einfügen
  2. Wenn ich einen bestimmten Datensatz abrufe, möchte ich überprüfen können, ob das Datum bereits abgelaufen ist oder nicht (d. h. das Ablaufdatum).

4voto

Explosion Pills Punkte 182627
INSERT INTO the_table
   (fields, the_date_field)
VALUES
   (?, DATE_ADD(NOW(), INTERVAL 30 DAY))

SELECT
   the_date_field < NOW() AS expired
FROM
   the_table

Bestätigen Sie:

SELECT '2010-01-01' < NOW() AS expired;
+---------+
| expired |
+---------+
|       1 |
+---------+

SELECT '2012-01-01' < NOW() AS expired;
+---------+
| expired |
+---------+
|       0 |
+---------+

1voto

Dan Breen Punkte 11912

Für Ihre Beilage:

$thirty_days_from_today = date('Y-m-d H:i:s', time() + 60*60*24*30);

Überprüfung der Verfallsdaten:

if(strtotime($row['expiration_date']) < time()) {
    // expired
}

0voto

bpeterson76 Punkte 12812

Strtotime ist hier Ihr Freund, sowohl um sicherzustellen, dass die Eingabe, die Sie über Daten senden, für PHP "verständlich" ist, als auch um mathematische Operationen wie "+10 Tage" durchzuführen, die das Datum in zehn Tagen zurückgeben würden. Es ist wirklich erstaunlich, was man mit strtotime alles anstellen kann.

Die Überprüfung von Datumsangaben ist in einer MySQL-Abfrage oder einem PHP-Vergleich mit einem Operator - wie >, < <> usw. - sehr einfach.

0voto

Farray Punkte 7994

Da Sie PHP verwenden, können Sie die strtotime()

$date = date( 'Y-m-d', strtotime( '+30 days' ) );

strtotime kann andere Inkremente verarbeiten ( +1 days , +5 minutes , usw.)

Sie können auch Folgendes verwenden strtotime um die Daten zu vergleichen, wenn Sie sie aus der Datenbank lesen. Wenn Sie im Ganztagsformat (ohne Zeitstempel) speichern, müssen Sie durch die Sekunden eines ganzen Tages dividieren.

$expdate = strtotime( date( 'Y-m-d', $record[ 'expiration_date' ] ) );
$today = strtotime( date( 'Y-m-d' ) );
$isExpired = round( abs( $expiration - $today ) / ( 24 * 60 * 60 ) ) >= 0;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X