简体   繁体   中英

How to create date timestamp logs like git log

Using datetime.datetime.now() , I receive some badly formatted timestamps.

Is there an intuitive way of creating a date timestamp in this format?

Wed Aug 7 13:38:59 2019 -0500

This is seen in git log.

You can use datetime.datetime.strftime() to format dates as shown below:

from datetime import datetime
d = '2019-08-07 13:38:59-0500'
d2 = datetime.strptime(d, '%Y-%m-%d %H:%M:%S%z')
d3 = d2.strftime('%a %b %d %H:%M:%S %Y %z')
print(d3)

This returns:

Wed Aug 07 13:38:59 2019 -050000

This website is a great resource for strftime formatting.

You can still use the datetime library. Using strftime, you can rewrite the datetime object into a nicely formatted string.

In your case, you are going for Wed Aug 7 13:38:59 2019 -0500 , which translated to strftime formatting is "%a %b %d %H:%M:%S %Y %z" .

Overall, it'd be

datetime.datetime.now().strftime("%a %b %d %H:%M:%S %Y %z")

Which will give a string that looks like 'Wed Aug 7 13:38:59 2019 -0500'.

I would do the following:

from time import gmtime, strftime

if __name__ == "__main__":
    time = strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
    print(time)

This was found on the documentation page of the time module. There are also a lot of additional features you might be interested in using outlined here: https://docs.python.org/3/library/time.html#time.strftime

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM