Skip to main content

Handling timezone conversion with PHP DateTime

Handling timezone conversion with PHP DateTime

Create function

function convert_to_server_datetime($date, $userTimeZone = 'America/Los_Angeles', $serverTimeZone = 'UTC')
{
    try {
        $dateTime = new DateTime ($date, new DateTimeZone($userTimeZone));
        $dateTime->setTimezone(new DateTimeZone($serverTimeZone));
        return $dateTime->format("Y-m-d H:i:s");
    } catch (Exception $e) {
        return '';
    }
}

Example:

$userDate = '2019-04-19 13:20:00';

echo convert_to_server_datetime($userDate);

Other Method

public function convert($clienttimezone = null, $servertimezone = null){
$clientz=timezone_open("$clienttimezone");
$serverdateTime=date_create("now",timezone_open("$servertimezone"));
$offset1 = timezone_offset_get($clientz,$serverdateTime);
$servertz=timezone_open("$servertimezone");
$clientdateTime=date_create("now",timezone_open("$clienttimezone"));
$offset2 = timezone_offset_get($servertz,$clientdateTime);
if(($offset1 > 0 && $offset2 < 0) || ($offset1 < 0 && $offset2 < 0) || ($offset1 < 0 && $offset2 > 0)){
$offset = $offset1 -($offset2);
}else {
$offset = $offset1 +($offset2);
}
return $offset;
//return sprintf( "%s%02d:%02d", ( $offset >= 0 ) ? '+' : '-', abs( $offset / 3600 ), date("i",abs( $offset % 3600 )) );
}

Example
$clienttimezone = "Europe/Paris";
$servertimezone = date_default_timezone_get();

$timediff =  convert($clienttimezone,$servertimezone);
$transfer_date = '2019-04-20 20:04:05';

echo date('d M Y, h:i a',strtotime($transfer_date)+$timediff);

Comments

Popular posts from this blog

6 guaranteed steps how to create CRON JOB FUNTION in wordpress

Create Cron Job function in Wordpress plugin Step 1: Register function on plugin activate  register_activation_hook(__FILE__, 'activate_one'); Step 2: add_filter function for interval //Filter for Adding multiple intervals add_filter( 'cron_schedules', 'intervals_schedule' ); // define interval function   function intervals_schedule($schedules) {   $schedules['everyminute'] = array(    'interval' => 60, // Every 1 minutes    'display'  => __( 'Every 1 minutes' )   );   return $schedules;  } Step 3: Activate hook function   //Schedule a first action if it's not already scheduled   function activate_one() {   if (!wp_next_scheduled('wpyog_cron_action')) {    wp_schedule_event( time(), 'everyminute', 'wpyog_cron_action');   }  } Step 4: Cron hook function   //Hook into that action that'll fire after 1 minutes   add_action('wpyog_cron_action', 'execute_

How to Create a jQuery Autocomplete in Wordpress

How to Create a jquery-ui Autocomplete in wordpress. Autocomplete provides suggestions while you type into the text field. In Wordpress we fetch dynamically matched pattern. Include javascript and css files in header. Create action inside functions.php or inside plugin code. add_action('wp_head', 'custom_register_scripts'); function custom_register_scripts(){ wp_register_style( 'techsudhir_jquery_ui_css', plugin_dir_url(__FILE__) . 'css/jquery-ui.css', false,'1.0.0' ); wp_enqueue_style( 'techsudhir_jquery_ui_css' ); wp_register_script('techsudhir_jquery_ui_js',plugin_dir_url(__FILE__) . 'js/jquery-ui.js',array('jquery'),'1.1', false); wp_enqueue_script('techsudhir_jquery_ui_js'); wp_localize_script( 'techsudhir_autocomplete', 'jqueryAutocomplete', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); wp_enqueue_script( 'techsudhir_

Facebook Login

Step 1: Go on Apps & create new Apps Step 2: Enter the app name & choose category Step 3: Enter the site domain Script code <div id="fb-root"></div> <script   src="http://connect.facebook.net/en_US/all.js#appId=<?php echo '603609636351597';?>"> </script> <script>    FB.init({              appId:'<?php echo '603609636351597';?>', cookie:true,              status:true, xfbml:true           });   FB.getLoginStatus(function(response) {   }); Login function call on click function faceLogin(){  FB.login(function(response) {    if (response.authResponse) {  FB.api('/me', function(response) { $('input[id=facebook_login_fb]').val(response['id']); $('#fb_login_form').submit();  });    } else {  console.log('User cancelled login or did