How do I output a time variable into my timezone?
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
add a comment |
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
add a comment |
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
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
php wordpress date timezone echo
asked Nov 11 at 6:24
Theo
186
186
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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')) ) );
}
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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')) ) );
}
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
add a comment |
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')) ) );
}
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
add a comment |
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')) ) );
}
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')) ) );
}
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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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