How do I output a time variable into my timezone?












0














I am currently using Wordpress, and an element of user_registered returns the time of registration of the user.
I have set the correct timezone, but don't know how to get the user_registered output to match my current time.
So far, this is what I have.



  date_default_timezone_set('America/Los_Angeles');


$users = get_users();

foreach( $users as $user ) {

$udata = get_userdata( $user->ID );

$registered = $udata->user_registered;

printf( '%s member since %s<br>', $udata->data->display_name, date( "Y-m-d H:i:s", strtotime( $registered ) ) );
}


echo('date below <br>');
echo date('Y-m-d H:i:s');


The date default timezone indeed changes the timezone (last echo)
However, what I want to change is the output of $registered. (which is the stored time).



How do I globally change the way the time is being displayed when called? In other words if I call for the date/timestamp through plugin or direct, it will always give me the output of America/Los_Angeles.



Thanks in advance. I'm a noob.










share|improve this question



























    0














    I am currently using Wordpress, and an element of user_registered returns the time of registration of the user.
    I have set the correct timezone, but don't know how to get the user_registered output to match my current time.
    So far, this is what I have.



      date_default_timezone_set('America/Los_Angeles');


    $users = get_users();

    foreach( $users as $user ) {

    $udata = get_userdata( $user->ID );

    $registered = $udata->user_registered;

    printf( '%s member since %s<br>', $udata->data->display_name, date( "Y-m-d H:i:s", strtotime( $registered ) ) );
    }


    echo('date below <br>');
    echo date('Y-m-d H:i:s');


    The date default timezone indeed changes the timezone (last echo)
    However, what I want to change is the output of $registered. (which is the stored time).



    How do I globally change the way the time is being displayed when called? In other words if I call for the date/timestamp through plugin or direct, it will always give me the output of America/Los_Angeles.



    Thanks in advance. I'm a noob.










    share|improve this question

























      0












      0








      0







      I am currently using Wordpress, and an element of user_registered returns the time of registration of the user.
      I have set the correct timezone, but don't know how to get the user_registered output to match my current time.
      So far, this is what I have.



        date_default_timezone_set('America/Los_Angeles');


      $users = get_users();

      foreach( $users as $user ) {

      $udata = get_userdata( $user->ID );

      $registered = $udata->user_registered;

      printf( '%s member since %s<br>', $udata->data->display_name, date( "Y-m-d H:i:s", strtotime( $registered ) ) );
      }


      echo('date below <br>');
      echo date('Y-m-d H:i:s');


      The date default timezone indeed changes the timezone (last echo)
      However, what I want to change is the output of $registered. (which is the stored time).



      How do I globally change the way the time is being displayed when called? In other words if I call for the date/timestamp through plugin or direct, it will always give me the output of America/Los_Angeles.



      Thanks in advance. I'm a noob.










      share|improve this question













      I am currently using Wordpress, and an element of user_registered returns the time of registration of the user.
      I have set the correct timezone, but don't know how to get the user_registered output to match my current time.
      So far, this is what I have.



        date_default_timezone_set('America/Los_Angeles');


      $users = get_users();

      foreach( $users as $user ) {

      $udata = get_userdata( $user->ID );

      $registered = $udata->user_registered;

      printf( '%s member since %s<br>', $udata->data->display_name, date( "Y-m-d H:i:s", strtotime( $registered ) ) );
      }


      echo('date below <br>');
      echo date('Y-m-d H:i:s');


      The date default timezone indeed changes the timezone (last echo)
      However, what I want to change is the output of $registered. (which is the stored time).



      How do I globally change the way the time is being displayed when called? In other words if I call for the date/timestamp through plugin or direct, it will always give me the output of America/Los_Angeles.



      Thanks in advance. I'm a noob.







      php wordpress date timezone echo






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 11 at 6:24









      Theo

      186




      186
























          1 Answer
          1






          active

          oldest

          votes


















          1














          You can use DateTime functions.
          http://php.net/manual/ro/datetime.settimezone.php



          Your code can be something like this:



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;

          $date = new DateTime(date( "Y-m-d H:i:s", strtotime( $registered )), new DateTimeZone('UTC')); //replace UTC with whatever is the timezone that the data was stored in
          $date->setTimezone(new DateTimeZone('America/Los_Angeles'));

          printf( '%s member since %s<br>', $udata->data->display_name, $date->format('Y-m-d H:i:s') );
          }


          echo('date below <br>');
          echo date('Y-m-d H:i:s');


          EDIT: Timezone conversion implies that an original timezone and a target timezone is specified. So in this case



          date_default_timezone_set('America/Los_Angeles');



          specifies the target timezone. But you still need to specify the original timezone for the values retrieved from the db. WP has a built in function that gets the timezone
          get_option('timezone_string')



          So in your original example you can use a simpler approach with just specifying the original timezone in the strtotime() function.



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;


          printf( '%s member since %s<br>', $udata->data->display_name, date( "Y-m-d H:i:s", strtotime( $registered ." ".get_option('timezone_string')) ) );
          }





          share|improve this answer























          • the $registered is just for echo purposes.... Does it change all output when user_registered is called? Thanks.
            – Theo
            Nov 11 at 7:11










          • @Theo I've edited my answer. You should provide a original timezone value for the time values you want to convert.
            – Dan D.
            Nov 11 at 8:04











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53246371%2fhow-do-i-output-a-time-variable-into-my-timezone%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          You can use DateTime functions.
          http://php.net/manual/ro/datetime.settimezone.php



          Your code can be something like this:



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;

          $date = new DateTime(date( "Y-m-d H:i:s", strtotime( $registered )), new DateTimeZone('UTC')); //replace UTC with whatever is the timezone that the data was stored in
          $date->setTimezone(new DateTimeZone('America/Los_Angeles'));

          printf( '%s member since %s<br>', $udata->data->display_name, $date->format('Y-m-d H:i:s') );
          }


          echo('date below <br>');
          echo date('Y-m-d H:i:s');


          EDIT: Timezone conversion implies that an original timezone and a target timezone is specified. So in this case



          date_default_timezone_set('America/Los_Angeles');



          specifies the target timezone. But you still need to specify the original timezone for the values retrieved from the db. WP has a built in function that gets the timezone
          get_option('timezone_string')



          So in your original example you can use a simpler approach with just specifying the original timezone in the strtotime() function.



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;


          printf( '%s member since %s<br>', $udata->data->display_name, date( "Y-m-d H:i:s", strtotime( $registered ." ".get_option('timezone_string')) ) );
          }





          share|improve this answer























          • the $registered is just for echo purposes.... Does it change all output when user_registered is called? Thanks.
            – Theo
            Nov 11 at 7:11










          • @Theo I've edited my answer. You should provide a original timezone value for the time values you want to convert.
            – Dan D.
            Nov 11 at 8:04
















          1














          You can use DateTime functions.
          http://php.net/manual/ro/datetime.settimezone.php



          Your code can be something like this:



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;

          $date = new DateTime(date( "Y-m-d H:i:s", strtotime( $registered )), new DateTimeZone('UTC')); //replace UTC with whatever is the timezone that the data was stored in
          $date->setTimezone(new DateTimeZone('America/Los_Angeles'));

          printf( '%s member since %s<br>', $udata->data->display_name, $date->format('Y-m-d H:i:s') );
          }


          echo('date below <br>');
          echo date('Y-m-d H:i:s');


          EDIT: Timezone conversion implies that an original timezone and a target timezone is specified. So in this case



          date_default_timezone_set('America/Los_Angeles');



          specifies the target timezone. But you still need to specify the original timezone for the values retrieved from the db. WP has a built in function that gets the timezone
          get_option('timezone_string')



          So in your original example you can use a simpler approach with just specifying the original timezone in the strtotime() function.



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;


          printf( '%s member since %s<br>', $udata->data->display_name, date( "Y-m-d H:i:s", strtotime( $registered ." ".get_option('timezone_string')) ) );
          }





          share|improve this answer























          • the $registered is just for echo purposes.... Does it change all output when user_registered is called? Thanks.
            – Theo
            Nov 11 at 7:11










          • @Theo I've edited my answer. You should provide a original timezone value for the time values you want to convert.
            – Dan D.
            Nov 11 at 8:04














          1












          1








          1






          You can use DateTime functions.
          http://php.net/manual/ro/datetime.settimezone.php



          Your code can be something like this:



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;

          $date = new DateTime(date( "Y-m-d H:i:s", strtotime( $registered )), new DateTimeZone('UTC')); //replace UTC with whatever is the timezone that the data was stored in
          $date->setTimezone(new DateTimeZone('America/Los_Angeles'));

          printf( '%s member since %s<br>', $udata->data->display_name, $date->format('Y-m-d H:i:s') );
          }


          echo('date below <br>');
          echo date('Y-m-d H:i:s');


          EDIT: Timezone conversion implies that an original timezone and a target timezone is specified. So in this case



          date_default_timezone_set('America/Los_Angeles');



          specifies the target timezone. But you still need to specify the original timezone for the values retrieved from the db. WP has a built in function that gets the timezone
          get_option('timezone_string')



          So in your original example you can use a simpler approach with just specifying the original timezone in the strtotime() function.



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;


          printf( '%s member since %s<br>', $udata->data->display_name, date( "Y-m-d H:i:s", strtotime( $registered ." ".get_option('timezone_string')) ) );
          }





          share|improve this answer














          You can use DateTime functions.
          http://php.net/manual/ro/datetime.settimezone.php



          Your code can be something like this:



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;

          $date = new DateTime(date( "Y-m-d H:i:s", strtotime( $registered )), new DateTimeZone('UTC')); //replace UTC with whatever is the timezone that the data was stored in
          $date->setTimezone(new DateTimeZone('America/Los_Angeles'));

          printf( '%s member since %s<br>', $udata->data->display_name, $date->format('Y-m-d H:i:s') );
          }


          echo('date below <br>');
          echo date('Y-m-d H:i:s');


          EDIT: Timezone conversion implies that an original timezone and a target timezone is specified. So in this case



          date_default_timezone_set('America/Los_Angeles');



          specifies the target timezone. But you still need to specify the original timezone for the values retrieved from the db. WP has a built in function that gets the timezone
          get_option('timezone_string')



          So in your original example you can use a simpler approach with just specifying the original timezone in the strtotime() function.



            date_default_timezone_set('America/Los_Angeles');


          $users = get_users();

          foreach( $users as $user ) {

          $udata = get_userdata( $user->ID );

          $registered = $udata->user_registered;


          printf( '%s member since %s<br>', $udata->data->display_name, date( "Y-m-d H:i:s", strtotime( $registered ." ".get_option('timezone_string')) ) );
          }






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 11 at 8:01

























          answered Nov 11 at 6:56









          Dan D.

          559213




          559213












          • the $registered is just for echo purposes.... Does it change all output when user_registered is called? Thanks.
            – Theo
            Nov 11 at 7:11










          • @Theo I've edited my answer. You should provide a original timezone value for the time values you want to convert.
            – Dan D.
            Nov 11 at 8:04


















          • the $registered is just for echo purposes.... Does it change all output when user_registered is called? Thanks.
            – Theo
            Nov 11 at 7:11










          • @Theo I've edited my answer. You should provide a original timezone value for the time values you want to convert.
            – Dan D.
            Nov 11 at 8:04
















          the $registered is just for echo purposes.... Does it change all output when user_registered is called? Thanks.
          – Theo
          Nov 11 at 7:11




          the $registered is just for echo purposes.... Does it change all output when user_registered is called? Thanks.
          – Theo
          Nov 11 at 7:11












          @Theo I've edited my answer. You should provide a original timezone value for the time values you want to convert.
          – Dan D.
          Nov 11 at 8:04




          @Theo I've edited my answer. You should provide a original timezone value for the time values you want to convert.
          – Dan D.
          Nov 11 at 8:04


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53246371%2fhow-do-i-output-a-time-variable-into-my-timezone%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Academy of Television Arts & Sciences

          L'Équipe

          1995 France bombings