2016-05-10 52 views
7

tôi có vấn đề gì đó ở đó tôi muốn thay đổi định dạng ngày. này quan điểm của tôi: Thay đổi định dạng ngày 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 

và bộ điều khiển của tôi:

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

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

này quan điểm của tôi và những gì tôi muốn làm:

enter image description here

nếu ai đó bảo tôi sử dụng carbon, vui lòng giải thích cách sử dụng?

NB: tôi sử dụng laravel 5.1

+1

bạn có thể sử dụng 'date ('Y-m-d')' của php. –

+0

'$ post-> tanggal' có nghĩa vụ chứa ngày phải không? và bạn có thể làm tiếng vang bên trong foreach. –

+0

có. nhưng tôi nhận được lỗi nếu tôi sử dụng định dạng ngày từ php. u sẽ giải thích làm thế nào để sử dụng nó? –

Trả lời

10

Hãy thử điều này:

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

đâu

  • d - Các ngày trong tháng (01-31)
  • F - Một toàn văn bản đại diện của một tháng (từ tháng 1 đến tháng 12)
  • Y - Một bốn chữ số đại diện của một năm
+0

cảm ơn thời gian và sự hài lòng tốt nhất. bây giờ nó đã được giải quyết. –

+0

@ivansetiadi, vui mừng vì nó đã giúp bạn :). – prava

5

Nếu bạn có thể sử dụng hùng hồn, bạn có thể tự động đúc cột cho một đối tượng ngày Carbon.

Bạn cần có một mô hình Post và phải đảm bảo bạn đã bao gồm tanggal trong các cột được truyền đến ngày.

class Post extends Model { 

    protected $dates = ['tanggal']; 

Sau đó Laravel sẽ tự động chuyển đổi ngày thành đối tượng Carbon, cho phép bạn truy cập tất cả các chức năng tiện dụng.

Sau đó, trong chế độ xem của bạn, chỉ xuất ngày theo định dạng bạn đang theo dõi.

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

Bạn có thể đọc thêm về các phương pháp Carbon hữu ích cung cấp cho bạn đây: http://carbon.nesbot.com/docs/

Và bạn có thể tìm hiểu những gì chữ khác nhau trong tranh luận truyền cho format làm ở đây: http://php.net/manual/en/function.date.php

+1

Đây phải là câu trả lời đúng. Đó là cách đúng để thao tác ngày trong Laravel +1. Cảm ơn @ matt-mcdonald. –

6

Nó là tốt hơn sử dụng định dạng ngày Carbon php trong tệp xem.

Nếu <?php echo $post->tanggal?> là mà được ngày sau đó:

này sẽ làm việc:

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

Các lợi nhuận trên cùng một đầu ra như bạn muốn.

Nếu bạn muốn thay đổi định dạng thêm. Sau đó, link này có thể hữu ích.

Carbon được kế thừa từ lớp DateTime của PHP. Vì vậy, nếu bạn đang sử dụng laravel tôi khuyên bạn nên sử dụng 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

này sẽ 100 phần trăm giải quyết vấn đề của bạn

{{ date('jS F Y',strtotime($post->tanggal)) }} 
Các vấn đề liên quan