Berechnen Differenz zwischen zwei Datumsangaben mit Carbon und Klinge
Weiß jemand wie das passieren einer bestimmten variable anstelle der Carbon Standard-Parameter ?
In der Dokumentation des Carbon sagt:
//CARBON SAMPLE
$dtToronto = Carbon::createFromDate(2012, 1, 1, 'America/Toronto');
$dtVancouver = Carbon::createFromDate(2012, 1, 1, 'America/Vancouver');
echo $dtVancouver->diffInHours($dtToronto); //3
Und ich möchte so etwas wie dies in meinem controller:
//EXAMPLE
$date = "2016-09-16 11:00:00";
$datework = Carbon::createFromDate($date);
$now = Carbon::now();
$testdate = $datework->diffInDays($now);
Und abrufen, die auf einem Blade-Vorlage
//VIEW ON BLADE
<td> {{ $testdate }} </td>
Was ist genau das problem, das Sie versuchen, zu erklären. Bekommst du irgendwelche Fehler? Zeigt es falsche Werte? Ich denke, Ihre Lösung
Versuchen Sie es Mit:
So versuche ich zu berechnen, es über die Klinge:
new Carbon($date)
statt Carbon::createFromDate($date)
.Versuchen Sie es Mit:
Carbon::parseDate($date);
statt createFromDate
So versuche ich zu berechnen, es über die Klinge:
<td>{{Carbon\Carbon::now()->diffInDays($work['date']) }}</td>
aber ich habe diesen Fehler: Type error: Argument 1 passed to Carbon\Carbon::diffInDays() must be an instance of Carbon\Carbon, string given
. Also ich habe die variable $['date'] das ist ein Ergebnis aus dem Modell Abfragen und nicht ein Carbon-Objekt...InformationsquelleAutor mrk088 | 2016-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie nicht dem Beispiel von der Carbon-Dokumentation. Die Methode
Carbon::createFromDate()
erwartet 4 Parameter: Jahr, Monat, Tag und Zeitzone. Und Sie versuchen, übergeben Sie einen formatierten Datum-string.Wenn Sie möchten, erstellen Sie ein Carbon-Objekt aus einem formatierten Datum-string können Sie den Konstruktor der Klasse, genau wie diese:
Oder verwenden Sie die statischen
Carbon::parse()
Methode:Für Ihre Zwecke, die Sie verwenden können, die das vollständige Beispiel:
Und dann in Ihre Klinge Vorlage:
<td> <!-- {{ $datework = Carbon\Carbon::parse($work['date']) }} {{ $now = Carbon\Carbon::now() }} // for this --> {{ $diff = $datework->diffForHumans($now) }} </td>
Es ist alles berechnet direkt die view-Schicht, hinzufügen von html-Kommentare code zum entfernen der Klinge Ausgang...es ist sehr vorteilhaft, nicht tun, die Berechnungen in der Vorlage anzeigen.
im Idealfall möchte ich die Berechnung dieser Termine innerhalb seiner eigenen controller, aber die Informationen, die ich brauche abgerufen werden auf der view-Schicht per foreach-Zyklus auf die $Arbeit array. Ich bin immer noch versuchen, um etwas mehr zu reinigen, und legte es in den controller, sondern für jetzt habe ich nicht gefunden, eine bessere Lösung.
InformationsquelleAutor iivannov
Geben Sie den code bereinigt werden können und den auskommentierten code entfernt by doing:
InformationsquelleAutor Stephen S
Blade Vorlage
Einen kürzeren code
Ergebnis : 6 Minuten
InformationsquelleAutor CodeGuru