WordPress.org

Support

Support » Plugins and Hacks » [Resolved] Unix timestamp to human date

[Resolved] Unix timestamp to human date

  • elurie
    Participant

    @elurie

    hi anmari,
    The expire-users plugin I am using gives the User’s renew date as a unix timestamp in mySql:
    _expire_user_date
    1403457801
    The expire-users Plugin translates this date into human date in Dashboard>Users>All Users. It also translates this unix date into human date in the Edit User Profile. But, your user lists show the date as the unix date. How can I show this date as a human date in amusers plugin?

    http://wordpress.org/extend/plugins/amr-users/

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author anmari
    Participant

    @anmari

    Hi Eve,
    you could write a formatting function (plugin will pick it up it the naming standards are followed for the field) for that field.
    You could have it call the expire-users function (or use the same code if they don’t have a callable function) so that it formats exactly the same.

    Or check my plugins pluggables file, there should be a formatting function you can call from the one that does the field.

    do not edit plugin files (will lose it when you upgrade), rather add it to site specific plugin as per instructions.

    instructions here

    Formatting and pluggable functions (for developers)

    elurie
    Participant

    @elurie

    hi anmari,
    I’ve tried something like this, but it does not seem to work:

    function ausers_format_expire_user_date ($expire_user) {
    return $expire_user->get_expire_date_display();
    }

    my question in particular is; what is the argument of the function supposed to be? Is it as I have it, $expire_user or something else?
    many thanks,
    eve

    elurie
    Participant

    @elurie

    sorry,
    i did not mention:
    I am trying to reference the expir-users plugin’s function called get_expire_date_display.

    Plugin Author anmari
    Participant

    @anmari

    Hi eve,

    see here or any of the formatting functions in the pluggables file

    Format any field any way you wish

    2 parameters, first is the value, second is the wp user being processed (if needed)
    I don’t know whether your $expire_user is a wp user or not, you’d have to work that part out yourself.

    or do something like (untested)

    function ausers_format_timestamp_as_date($v) {
    		if (empty($v)) return ('');
    		$d = date('Y-m-d H:i:s e', (int) $v) ;
    		if (!$d) {
    			return($v);  // not a valid date just return the value
    			}
    		else return ($d->format('l, j M Y h:i a e' );	// or whatever format string you want
    	}

    elurie
    Participant

    @elurie

    hi anmari,
    thank you, this worked! (there is a second underscore between format and expire.)

    function ausers_format__expire_user_date ($expire_user) {
    if (empty($expire_user)) return ”;
    return date(‘m/d/Y’,$expire_user);
    }

    Plugin Author anmari
    Participant

    @anmari

    Glad it’s working.
    Looks like your ‘expire_user’ is actually ‘expiry_date’ ?

    Good idea to name more meaningfully so when you come back to it later it will be less confusing.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘[Resolved] Unix timestamp to human date’ is closed to new replies.