Calculer la différence entre deux dates à l'aide de Carbone et de la Lame
Personne ne sait comment passer une variable à la place du Carbone paramètres par défaut ?
La documentation de Carbone dit:
//CARBON SAMPLE
$dtToronto = Carbon::createFromDate(2012, 1, 1, 'America/Toronto');
$dtVancouver = Carbon::createFromDate(2012, 1, 1, 'America/Vancouver');
echo $dtVancouver->diffInHours($dtToronto); //3
Et je veux faire quelque chose comme ça dans mon controller:
//EXAMPLE
$date = "2016-09-16 11:00:00";
$datework = Carbon::createFromDate($date);
$now = Carbon::now();
$testdate = $datework->diffInDays($now);
Et de récupérer sur une Lame de modèle
//VIEW ON BLADE
<td> {{ $testdate }} </td>
Quel est exactement le problème que vous essayez de l'expliquer. Avez-vous des erreurs? Qu'il ne montre les valeurs erronées? Je pense que votre solution à l'aide de
Essayez Avec:
Donc, je suis en train de calculer par l'intermédiaire de la Lame:
new Carbon($date)
au lieu de Carbon::createFromDate($date)
.Essayez Avec:
Carbon::parseDate($date);
place de createFromDate
Donc, je suis en train de calculer par l'intermédiaire de la Lame:
<td>{{Carbon\Carbon::now()->diffInDays($work['date']) }}</td>
mais j'ai cette erreur: Type error: Argument 1 passed to Carbon\Carbon::diffInDays() must be an instance of Carbon\Carbon, string given
. J'ai donc la variable $travail['date'] qui est un résultat de la requête de Modèle et pas un Objet de Carbone...OriginalL'auteur mrk088 | 2016-09-15
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas en suivant l'exemple de la De Carbone De La Documentation. La méthode
Carbon::createFromDate()
s'attend à 4 paramètres: année, mois, jour et fuseau horaire. Et vous essayez de passer une date formatée chaîne.Si vous souhaitez créer un objet de Carbone à partir d'une date formatée chaîne de caractères, vous pouvez utiliser le constructeur de la classe comme ceci:
Ou vous pouvez utiliser la statique
Carbon::parse()
méthode:À vos fins, vous pouvez utiliser le présent exemple complet:
Et puis dans votre Lame modèle:
<td> <!-- {{ $datework = Carbon\Carbon::parse($work['date']) }} {{ $now = Carbon\Carbon::now() }} // for this --> {{ $diff = $datework->diffForHumans($now) }} </td>
C'est tout calculer directement la couche de la vue, l'ajout de commentaires html code pour retirer la Lame de sortie...il est très préférable de ne pas faire ces calculs dans le modèle de vue.
idéalement, je veux calculer ces dates à l'intérieur de son propre contrôleur, mais les informations que j'ai besoin sont récupérées sur la couche de la vue via foreach cycle sur la somme de travail tableau. Je suis encore à essayer de faire quelque chose de plus propre, et de le mettre à l'intérieur de la manette mais pour l'instant je n'ai pas trouvé de meilleure solution.
OriginalL'auteur iivannov
Vous code peut être nettoyé et ont le commentaire sur le code retiré par:
OriginalL'auteur Stephen S
Lame Modèle
Une courte code
Résultat : 6 minutes ago
OriginalL'auteur CodeGuru