mercredi 3 février 2016

Carbon Time Difference of Local Time and Server Time

I am using Laravel 4 and trying to calculate the difference of the Time on Server and the Time Save in Database in hours. Here is the code:

Time on Server=timeNowOnServer // 2016-02-03 19:05:43 Time saved in Database = setTime // 18:00:00

        $timeNowOnServer = null;
        $setTime = null;

        $timeZone = $company->time_zone;
        $company->save();

        // My Time
        $hour = substr($company->emp_auto_logout_time, 0, 2);
        $setTime = Carbon::createFromTime($hour);

        // Server Time Same as Mine
        $timeNowOnServer = Carbon::now();
        $timeNowOnServerSameAsMine = $timeNowOnServer->setTimezone($timeZone);

        // Time Differnce Between SetTime and TimeOnServerSameAsMine
        $timeDiff = $setTime->diffInHours($timeNowOnServerSameAsMine, $abs = false);

If Server Time is 14:00:00 for example and Set Time is 19:00:00. My time zone is GMT +5 Pakistan.

What I'm doing is, adding setting Server Time according to user time by giving time zone in the 3rd last line of the above given code.

When I use diffInHour it instead of giving me 0 it gives me -5 or 5. It means it's useing UTC (Server Time) and that's why give wrong difference in hours.

Can someone please let me know where I'm wrong?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire