3

I am using this script to get the last time a user logged in

function get_last_login($user_id) {
    $last_login = get_user_meta($user_id, 'last_login', true);
    echo human_time_diff($last_login) . " " . __('ago');
    }

I am calling it in author.php with

<p>Last login: <?php get_last_login($userdata->ID); ?></p>

I am trying to output like "last login X days ago" but I can't get it working.

$last_login output is

2011-05-13 18:00:06

but the final output I get is

last login 15108 days ago

1 Answer 1

3

Are you formatting the mysql2date() input string as 'Y-m-d H:i:s', as specified in the Codex?

Also, why not use this same format as $date_format?

EDIT:

  1. What output do you get for $last_login?
  2. The second argument in human_time_diff() is optional. Why not just omit it? That way, if you get valid output from $last_login, you should get valid output from human_time_diff().

EDIT:

The human_time_diff() function expects a UNIX timestamp for its first argument. Try wrapping $last_login in mktime(), e.g.:

$last_login_unix = mktime( $last_login );

human_time_diff( $last_login_unix );

EDIT:

Might want to use strtotime() instead of mktime():

$last_login_unix = strtotime( $last_login );

human_time_diff( $last_login_unix );
9
  • You're right Chip. I pasted the code from an example I found. Now I'm trying to output with this code: function get_last_login($user_id) { $last_login = get_user_meta($user_id, 'last_login', true); echo human_time_diff($last_login, current_time('timestamp')) . " " . __('ago'); but is not outputting anything.
    – Andycap
    Commented May 13, 2011 at 19:27
  • Can you edit your question, to add/update your code? (See answer edits, above.) Commented May 13, 2011 at 19:37
  • 1
    Edited the question.
    – Andycap
    Commented May 13, 2011 at 19:49
  • 1
    See edited answer. :) Commented May 13, 2011 at 19:59
  • (And one more edit.) Commented May 13, 2011 at 20:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.