2016-05-10 4 views
7

У меня есть что-то непонятное, я хочу изменить формат даты. это мое мнение: Изменить формат даты 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 

и мой контроллер:

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

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

это мое мнение, и то, что я хочу сделать:

enter image description here

Если кто-то скажет мне использовать уголь, пожалуйста, объясните, как его использовать?

NB: я использую Laravel 5,1

+1

вы можете использовать 'дату ('Y-т-d')' РНР. –

+0

«$ post-> tanggal' должен содержать дату прямо? и вы можете делать эхо внутри foreach. –

+0

Да. но я получаю ошибку, если я использую формат даты из php. объясните, как его использовать? –

ответ

10

Попробуйте это:

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

Где

  • d - день месяца (от 01 до 31)
  • F - A полный текст представление месяца (январь-декабрь)
  • Y - A fou г цифра представление года
+0

спасибо за время и лучшую реакцию. теперь его решили. –

+0

@ivansetiadi, рад, что это вам помогло :). – prava

5

Если бы вы могли использовать красноречив, вы можете автоматически отбрасывать столбец объекта даты углерода.

Вам понадобится модель Post и вам необходимо будет включить tanggal в столбцы, которые будут добавлены к датам.

class Post extends Model { 

    protected $dates = ['tanggal']; 

Затем Laravel автоматически преобразует дату в объект углерода, который дает доступ ко всем видам полезных функций.

Затем в вашем представлении введите дату только в том формате, в котором вы находитесь.

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

Вы можете прочитать больше о полезных методов углерода дает вам здесь: http://carbon.nesbot.com/docs/

И вы можете узнать, какие разные буквы в пределах аргумента, переданного format сделать здесь: http://php.net/manual/en/function.date.php

+1

Это должен быть правильный ответ. Это правильный способ манипулировать датой в Laravel +1. Спасибо @ matt-mcdonald. –

6

лучше использовать php Carbon формат даты в файле вида.

Если <?php echo $post->tanggal?> это который получает дату затем:

Это будет работать:

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

Вышеприведенные возвращает тот же результат, как вы хотите.

Если вы хотите изменить формат в дальнейшем. Тогда это может помочь link.

Carbon наследуется от PHP DateTime класса. Поэтому, если вы используете laravel, я рекомендую вам использовать 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

это 100 процентов решить ваш вопрос

{{ date('jS F Y',strtotime($post->tanggal)) }} 
Смежные вопросы