2016-07-23 12 views
1

Ich verwende einen Zeitzähler, um eine Zeit Zeichenfolge (zB: "1:00 Uhr" oder "12: 00pm") zu erhalten. Ich muss ändern und speichern Sie dies in einer mysql TIME Datentyp Spalte wie zB: "12: 00: 00". Jetzt, da die TIME Spalte im 24-Stunden-Format speichert, muss ich sie "ändern". Ich kann anscheinend keine Hilfe finden, um mit Carbon zu modifizieren, da ich keine Daten verwende. Ich benutze einen Mutator in Laravel, aber würde gerne wissen, ob es einen besseren Weg gibt wie Carbon für Daten verwenden.Speichern von Zeit Zeichenfolgen zu TIME-Spalte in Laravel

public function setTimeAttribute($time) { 
    if(substr($time, -2, 0) == 'am') { 
     // do nothing 
    } else if(substr($time, -2, 0) == 'pm') { 
     // increase hours.ie: 1:00pm to 13:00:00 
    } 
} 

Jede Hilfe wäre willkommen! Vielen Dank.

Antwort

1

Verwenden Sie PHP strtotime() Funktion.

$time = "12:00am"; 

$timestamp = strtotime($time); 

echo $timestamp; 

//Will print something like: 1469228400 

Oder ein anderes Datumsformat, das Sie bevorzugen.

Es ist am besten, Zeit als Zeitstempel zu speichern, um sie zurück zu konvertieren, können Sie die Funktion date() verwenden. Zum Beispiel $value = date("H:i:s", $timestamp);