In a Jinja2 template I want to display the last login:
Last Login: {{ user.last_seen }}
last_seen
is supposed to be a datetime obj
You are using the default string formatting of a datetime
object, which is essentially the same as calling datetime.isoformat(' '), a format that includes the microseconds component.
If you want a different format, then do so explicitly, using the datetime.datetime.strftime() method:
Last Login: {{ user.last_seen.strftime('%Y-%m-%d %H:%M:%S') }}
Alternatively, produce a new datetime
object with the microseconds component set to 0, then interpolate that:
Last Login: {{ user.last_seen.replace(microsecond=0) }}
Alternatively, a nice solution is flask-moment
, where you can use the datetime object and specify how it is to be formatted, like so:
Last Login: {{ moment(user.last_seen).format('LLLL') }}
which would output like this:
Last Login: Tuesday, July 29 2014 11:55 AM
You could even use the fromNow()
function
Last Login: {{ moment(user.last_seen).fromNow() }}
Last Login: 2 days ago