สมมุติว่าเราจะสร้างฟังค์ชันเพื่อ แปลงวันที่เพื่อบันทึกลงฐานข้อมูล และแสดงวันที่
โดยเราจะสร้างไฟล์ชื่อ DateTime.php ใว้ในโฟลเดอร์ Helpers
1 2 3 4 5 6 |
if (! function_exists('fooBar')) { function fooBar() { return \App\Helpers\CustomHelper::fooBar(); } } |
ในไฟล์ DateTime.php เขียนโค๊ดดังนี้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<?php //Show Date with user timezone if (! function_exists('show_date')) { function show_date($date, $format="d/m/Y H:i") { if(!($date instanceof \Carbon\Carbon)) { if(is_numeric($date)) { // Assume Timestamp $date = \Carbon\Carbon::createFromTimestamp($date); } else { $date = \Carbon\Carbon::parse($date); } } return $date->setTimezone(Auth::user()->timezone)->format($format); } } //Set Datetime to insert_db if (! function_exists('insert_db_date')) { function insert_db_date($date, $format="Y-m-d H:i:s") { $output_timezone = \Config::get('app.timezone', 'UTC'); $date = \Carbon\Carbon::parse($date); return \Carbon\Carbon::createFromFormat($format, $date->format($format), Auth::user()->timezone)->setTimezone($output_timezone)->format('Y-m-d H:i:s'); } } |
โดยรัน artisan command: ด้านล่าง
1 |
php artisan make:provider HelperServiceProvider |
โดยในไฟล์ HelperServiceProvider.php ในเมทธอด register ให้เพิ่มโค๊ดดังนี้
1 2 3 4 5 6 7 8 9 10 11 |
/** * Register the application services. * * @return void */ public function register() { foreach (glob(app_path().'/Helpers/*.php') as $filename){ require_once($filename); } } |
โดยเพิ่มโค๊ดใน ‘providers’=>[…..]
1 2 3 4 5 |
'providers' => [ ... App\Providers\HelperServiceProvider::class, ... ], |
1 2 3 4 5 6 |
... <tr> <td class="active col-md-2"><strong>{{ trans('general.updated_at') }}</strong></td> <td>{{ show_date($result->updated_at) }}</td> </tr> ... |
ดูเพิ่มเติม
https://stackoverflow.com/a/43169120
https://stackoverflow.com/a/28360186
ป้ายกำกับ:laravel