Skip to content
Advertisement

PHP UTC String to date

I have a problem. In my code I have the following line:

$RunDateTimeGMT0 = "2017-12-31 23:00:00";

The goal is to get the previous and next hour, so I tried this:

$RunDateTimeGMT0 = "2017-12-31 23:00:00";
$epochRunDateTimeGMT0 = strtotime($RunDateTimeGMT0);
$previousEpochDateTimeGMT0 = $epochRunDateTimeGMT0 - 3600;
$nextEpochDateTimeGMT0 = $epochRunDateTimeGMT0 + 3600;

But then the I get the following result:

previousEpochDateTimeGMT0 -> 2017-12-31 21:00:00
nextEpochDateTimeGMT0 -> 2017-12-31 23:00:00

Because of my timezone (+1) the RunDateTimeGMT0 gets converted to a date of my timezone. I want the following result:

validEpochDateTimeGMT0 -> 2017-12-31 22:00:00
nextEpochDateTimeGMT0 -> 2018-01-01 00:00:00

How can I keep the date object UTC?

Advertisement

Answer

You can use the Carbon library. after import this library you should parse the date with this :

$RunDateTimeGMT0 = "2017-12-31 23:00:00";
$epochRunDateTimeGMT0 = Carbon::parse($RunDateTimeGMT0);

in this link, you could see the documentation of Carbon. Although, maybe you should to use this method :

$previousEpochDateTimeGMT0 = $epochRunDateTimeGMT0->addminutes(60);
$nextEpochDateTimeGMT0 = $epochRunDateTimeGMT0->subminutes(60);

I hope your problem solve with these lines, If another issue occurred you can ask.

User contributions licensed under: CC BY-SA
1 People found this is helpful
Advertisement