2016-05-10 25 views
7

Mam coś tam, chcę zmienić format daty. to moim zdaniem: Zmień format daty 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 

i mój kontroler:

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

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

to moim zdaniem i co chcę zrobić:

enter image description here

jeśli ktoś mi powie, jak używać węgla, wyjaśnij, jak go używać?

NB: Używam laravel 5,1

+1

można użyć 'datę ('Y-M-d')' PHP. –

+0

'$ post-> tanggal' ma zawierać datę poprawnie? i możesz robić echo w foreach. –

+0

tak. ale pojawia się błąd, jeśli używam formatu daty z php. czy wyjaśniłbyś, jak z niego korzystać? –

Odpowiedz

10

Spróbuj tego:

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

Gdzie

  • d - dzień miesiąca (od 01 do 31)
  • F - pełna tekstowa reprezentacja miesiąca (od stycznia do grudnia)
  • Y - czterocyfrowy reprezentacja roku
+0

dzięki za czas i najlepszą odpowiedzialność. teraz jest rozwiązany. –

+0

@ivansetiadi, cieszę się, że to ci pomogło :). – prava

5

Jeśli można użyć wymowny, można automatycznie rzutować kolumnę do obiektu data węgla.

Potrzebujesz modelu Post i musisz upewnić się, że uwzględniono tanggal w kolumnach rzutowanych na daty.

class Post extends Model { 

    protected $dates = ['tanggal']; 

Następnie Laravel automatycznie przekonwertuje datę na obiekt węglowy, co daje dostęp do wielu przydatnych funkcji.

Następnie w widoku po prostu wypisz datę w formacie, którego szukasz.

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

można przeczytać więcej na pomocnych metod Carbon daje tutaj: http://carbon.nesbot.com/docs/

I można dowiedzieć się, co różne litery wewnątrz argumentu przekazanego do format zrobić tutaj: http://php.net/manual/en/function.date.php

+1

To powinna być właściwa odpowiedź. Jest to właściwy sposób manipulowania datą w Laravel +1. Dzięki @ matt-mcdonald. –

6

Jest lepiej używać formatu daty php w formacie Carbon.

Jeśli <?php echo $post->tanggal?> jest pobierającą datę następnie:

to będzie działać:

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

Powyższe zwraca taką samą moc, jak chcesz.

Jeśli chcesz zmienić format dalej. To może pomóc link.

Węgiel jest dziedziczony z klasy PHP DateTime. Więc jeśli używasz laravel, polecam używanie węgla.

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

będzie to 100 procent rozwiązać Twój problem

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