2016-05-10 39 views
7

ho qualche problema lì voglio cambiare il formato della data. questo mio punto di vista: Cambia il formato della data laravel 5

@foreach ($posts as $post) 
        <tr> 
         <td> 
         <?php echo $post->id?> 
         </td> 
         <td class="mailbox-star"><?php echo $post->nama?></td> 
         <td class="mailbox-name"><?php echo $post->tanggal?></td> 
         <td class="mailbox-subject"><?php echo $post->deskripsi?></td> 
         <td class="mailbox-date"><?php echo $post->mulai?> - <?php echo $post->durasi?></td> 
         <td class="mailbox-date"><?php echo $post->total?> Jam</td> 
         <td class="mailbox-date"> 
         <a href="<?php echo url('user/detail/'.$post->nama)?>" class="btn btn-xs btn-danger"><i class="fa fa-search-plus"></i></a> 
         <a href="<?php echo url('user/edit/'.$post->id)?>" class="btn btn-xs btn-success"><i class="fa fa-pencil-square-o"></i></a> 
         <a href="<?php echo url('user/delete/'.$post->id) ?>" class="btn btn-xs btn-warning"><i class="fa fa-times"></i></a> 
         </td> 
        </tr> 
        @endforeach 

e il mio controller:

public function getIndex() 
    { 
     $posts = DB::table("lembur_karyawan") 
     ->orderBy('id', 'desc') 
     ->paginate(6); 

     return view('user',['posts'=>$posts]); 
    } 

questo mio punto di vista e quello che voglio fare:

enter image description here

se qualcuno mi dice di usare carbonio, per favore, spiega come usarlo?

NB: io uso laravel 5.1

+1

si può usare 'date ('Y-m-d')' di PHP. –

+0

'$ post-> tanggal' dovrebbe contenere la data giusta? e potresti fare eco all'interno di foreach. –

+0

sì. ma ricevo errore se uso il formato della data da php. spiegheresti come usarlo? –

risposta

10

Prova questa:

<?php echo date('d F Y', strtotime($post->tanggal)); ?> 

Dove

  • D - Il giorno del mese (da 01 a 31)
  • F - A full textual rappresentazione di un mese (da gennaio a dicembre)
  • Y - A quattro cifre rappresentazione di un anno
+0

grazie per il tempo e le migliori risposte. ora è risolto. –

+0

@ivansetiadi, felice che ti abbia aiutato :). – prava

5

Se si potesse utilizzare Eloquente, si potrebbe lanciare automaticamente la colonna di un oggetto data Carbon.

Avresti bisogno di un modello Post e dovresti assicurarti di aver incluso tanggal nelle colonne che vengono trasmesse in date.

class Post extends Model { 

    protected $dates = ['tanggal']; 

Quindi Laravel convertirà automaticamente la data in un oggetto di carbonio, che consente di accedere a tutti i tipi di funzioni a portata di mano.

Quindi, nella visualizzazione, è sufficiente emettere la data nel formato desiderato.

$post -> tanggal -> format('d m Y'); 

Si può leggere di più sui metodi utili Carbon ti dà qui: http://carbon.nesbot.com/docs/

E si può scoprire che cosa diverse lettere all'interno l'argomento passato alla format fare qui: http://php.net/manual/en/function.date.php

+1

Questa dovrebbe essere la risposta giusta. È il modo giusto per manipolare la data in Laravel +1. Grazie @ matt-mcdonald. –

6

E 'meglio per utilizzare il formato di data di php Carbon nel file di visualizzazione.

Se <?php echo $post->tanggal?> è che ottiene la data di allora:

Questo funziona:

<?php echo Carbon\Carbon::createFromFormat('Y-m-d', $post->tanggal)->format('d M Y') ?>

Le suddette dichiarazioni lo stesso risultato che si desidera.

Se si desidera modificare ulteriormente il formato. Allora questo link potrebbe aiutare.

Carbon è ereditato dalla classe DateTime di PHP. Quindi se stai usando laravel ti consiglio di usare Carbon.

7
//replace 
<td class="mailbox-name"><?php echo $post->tanggal?></td> 
//to 
<td class="mailbox-name"><?php echo date('d M Y',strtotime($post->tanggal)); ?></td> 
5

questo sarà il 100 per cento risolvere il problema

{{ date('jS F Y',strtotime($post->tanggal)) }}