Problem:
May be PHP is displaying a different date time than your local time or you may want to change current date time to a different one.
Solution:
To change the date time in your PHP script, you need to replace the current timezone with your desired timezone. When you change the timezone, all the date/time functions you’ll use in your script will display time according to the new timezone.
You can apply any of the following two solutions.
Method 1: Using date_default_timezone_set() function
As the name says, the date_default_timezone_set() function sets the default timezone. All you have to do is assign the new timezone as the parameter in the function. See the example below-
<?php date_default_timezone_set("Europe/Rome"); ?>
How it works:
In the above line of code, we set the default timezone as “Europe/Rome”. After this line, any date/time functions you write in this script will work according to the local time of Rome, Italy.
To see your current timezone, use date_default_timezone_get() function. See the following line of code-
<?php echo date_default_timezone_get(); ?>
[wpdm_file id=134]
Output:
Europe/Rome
Method 2: Using DateTimeZone and DateTime classes
Using SPL(Standard PHP class) to set the timezone is 2 steps process-
- First create an instance of DateTimeZone class with your desired timezone as parameter.
- Then, create another instance of DateTime class with the instance of the DateTimeZone object you created in the above step.
See the example below-
<?php $dtzObj = new DateTimeZone('Europe/Rome') ; $dtObj = new DateTime(NULL, $dtzObj); echo $dtObj->format('Y-m-d h:i A'); ?>
[wpdm_file id=135]
Output:
2014-06-14 06:31 PM
Now, you can use this DateTIme instance ($dtObj – which is the representation of local Rome time) to manipulate different date and time based operations.