2016-06-28 8 views
0

Ich würde gerne wissen, wie Eigenschaft ein Datum formatieren, die ich in meiner Datenbank haben, wenn ausgewählt und in der gleichen Zeit erhöht es mit 30 Tagen. Beispielsweise.So verwenden Sie strtotime in MySQL Wählen Sie Abfrage und inkrementieren Sie Datum

My SQL SELECT Datum Zeile ist folgende:

DATE_FORMAT(c.proposal_date,'%Y-%m-%d') AS expiration_date 

Also, wenn diese Option aktiviert ist Ich möchte dieses Datum angezeigt werden, aber mit 30 Tage erhöht:

<?php echo date('Y-m-d', strtotime("+30 days", $row['expiration_date'])); ?> 

Im Moment bin ich immer ein Fehler: Hinweis: Ein nicht wohlgeformter numerischer Wert ist aufgetreten

Jede Hilfe, um dieses Syntaxproblem richtig zu lösen

Antwort

1

können Sie ADDDATE verwenden

DATE_FORMAT(ADDDATE(c.proposal_date, INTERVAL 30 DAY),'%Y-%m-%d') AS expiration_date_30 
+0

Großartig, dass es gelöst hat! Vielen Dank. –

1

Zweites Attribut strtotime sollte ein int-Zeitstempel sein. Aber man könnte es wie folgt tun:

date('Y-m-d', strtotime("{$row['expiration_date']} +30 days")); 
1

Wenn Sie in das Handbuch schauen, ist strtotime zweite Parameter eine ganze Zahl:

int strtotime (string $time [, int $now = time() ]) 

So müssen Sie es den Zeitstempel geben:

<?php 
$time = strtotime($row['expiration_date'])); 
echo date('Y-m-d', strtotime("+30 days", $time)); ?> 
Verwandte Themen