2
votes

le format de l'heure sur laravel

Je voudrais savoir comment récupérer le format heure sur mon formulaire s'il vous plaît? Par exemple start_time => 20:00 et end_time 22:00.

Dans mon cours de table j'ai ceci

@foreach($course as $item)
<tr>
   <td> {{$item->date_seance->format('d/m/Y') }}</td>
   <td> {{$item->start_time}}</td>
   <td> {{$item->end_time}}</td>

Ensuite, sur mon cours modèle J'ai ceci

class Course extends Model
{
    //
    protected $dates = ['date_seance', 'start_time', 'end_time'];
}

Dans ma vue index.blade

public function up()
    {
        Schema::create('course', function (Blueprint $table) {
            $table->increments('id');
            $table->date('date_seance');
            $table->time('start_time');
            $table->time('end_time');
            $table->timestamps();
        });
    }


8 commentaires

Qu'entendez-vous par récupérer ? Voulez-vous une sortie spécifique? Si oui, quel résultat recherchez-vous?


@Jerodev: Désolé, oui par exemple start_time => 20:00 et end_time 22:00


Comme {{$ item-> start_time-> format ('h: s')}} ? php.net/manual/en/function.date.php


@Jerodev Je suppose qu'il voulait dire avoir / obtenir .. ou plus explicitement "comment formater l'heure" Je suppose que user11124425 est français. recuperate est l'une des traductions de recupérer qui est beaucoup utilisée lorsque vous dites Je voudrais (récupérer | récupérer) quelque chose Au moins , en français le mot ça aurait du sens.


@cbaconnier: le format ne semble pas bon "Données inattendues trouvées. Données inattendues trouvées. Données manquantes" si vous avez une autre idée n'hésitez pas


@ baconnier: Oui, je suis français ... :-) Quand je tape sur phpMyAdmin une valeur de moi champ start_time par exemple 20:00 je voudrais obtenir 20:00 sur mon formulaire index.blade.php


Le @ addWeb-solution-pvt-ltd devrait alors fonctionner


@cbaconnier: ça ne marche pas .. Qu'importe, je verrai après. Merci de votre aide


5 Réponses :


0
votes

le type de colonne est une instance de la classe Carbon pourquoi ne pas essayer ceci:

 <td> {{$item->date_seance->toDateString() }}</td>


2 commentaires

Merci mais mon problème n'est pas la date mais l'heure. J'aimerais avoir une heure en fait.


Je vois, avez-vous essayé $ item-> start_time-> format ('h: i')?



-1
votes

Vous devriez essayer ceci:

<td> {{date('d/m/Y H:i', strtotime($item->date_seance)) }}</td>


1 commentaires

merci mais la date est déjà ok mon problème n'est que d'une heure en fait.



0
votes

essayez le format ci-dessous que vous avez déjà stocké dans le temps, donc pas besoin de convertir en strtotime

<td> {{date('H:i', $item->start_time) }}</td>


0 commentaires

0
votes

Je ne pense pas que vous puissiez utiliser 'start_time' et 'end_time' dans la date car ils ne le sont pas.

<td> {{$item->date_seance->format('d/m/Y') }}</td>
<td> {{date('H:i', strtotime($item->start_time)) }}</td>
<td> {{date('H:i', strtotime($item->end_time)) }}</td>

Ensuite, utilisez

class Course extends Model
{
    protected $dates = ['date_seance'];
}


0 commentaires

2
votes

Utilisez des mutateurs et des accesseurs .

  1. Un mutateur setStartTimeAttribute pour gagner du temps dans la base de données
  2. Un accessoire getStartTimeAttribute pour l'afficher avec le format requis, c'est-à-dire h: i ou H: i

    public function setStartDateAttribute($value)
    {
        $this->attributes['start_time'] = Carbon::parse($value)->format('H:i');
    }
    public function getStartDateAttribute()
    {
         return Carbon::parse($this->attributes['start_time'])->format('H:i');
    }
    

Vous pouvez désormais accéder à l'heure formatée comme $ object-> start_time c'est-à-dire 20:00


0 commentaires