raphaelb/timezones

Carbon wrapper for easy timezone functionality in Laravel.

v1.4.1 2017-07-09 15:00 UTC

This package is not auto-updated.

Last update: 2024-04-13 16:23:55 UTC


README

Build status GitHub Version Total Downloads License

Laravel package providing easy Timezone functionality.

Made for people who really just want to have an easy way of going about dealing with timezones.

Composer require
"raphaelb/timezones": "~1.4"
Laravel
Raphaelb\Timezones\TimezonesServiceProvider::class,
'Timezones'  => Raphaelb\Timezones\Facades\Timezones::class

use Raphaelb\Timezones\Facades\Timezones;
Examples
class User {

    // Accessors in model class.
    
    /**
     * Get created_at attr.
     * @param $date
     * @return string
     */
    public function getCreatedAtAttribute($date)
    {
        return app('timezones')
            ->toTimezone($date, 'gmt')
            ->format('d-m-Y H:i:s');
    }

    /**
     * Get updated_at attr.
     * 
     * @param $date
     * @return string
     */
    public function getUpdatedAtAttribute($date)
    {
        return app('timezones')
                ->toTimezone($date, 'gmt')
                ->format('d-m-Y H:i:s');
    }
    
    /**
     * Or inject a format when you know the given one. 
     * Otherwise Carbon will fail. 
     */
    public function time()
    {
        // Constructor accepts a different format for your needs.
        $time = new Timezones('m-d-Y H:i:s');
        return $time->toTimezone('09-03-2016 16:00:00', 'EST');
    }
        
}

License

MIT Licensed