Python/Datetime

From Fundamental Ramen
Jump to navigation Jump to search

Parsing

TODO Code
Parse RFC Time
import time
import datetime

# To date object
dt = datetime.datetime.strptime(s, '%a, %d %b %Y %H:%M:%S GMT')

# To timestamp
ts = time.mktime(dt.timetuple())

Formatting

TODO Code
To ISO string
import os.path
import pytz
import datetime

# Without timezone
mtime = datetime.datetime.fromtimestamp(os.path.getmtime(__file__))
print("ISO 8601: %s" % mtime.strftime('%Y-%m-%dT%H:%M:%SZ'))

# With timezone
mtime = datetime.datetime.fromtimestamp(os.path.getmtime(__file__), pytz.timezone('Asia/Taipei'))
print("ISO 8601: %s" % mtime.strftime('%Y-%m-%dT%H:%M:%S%z'))
To RFC string
import os.path
import pytz
import datetime

# Without timezone
mtime = datetime.fromtimestamp(os.path.getmtime(__file__))
print("RFC 2822: %s" % mtime.strftime('%a, %d %b %Y %H:%M:%S %Z'))

# With timezone
mtime = datetime.fromtimestamp(os.path.getmtime(__file__), pytz.timezone('Asia/Taipei'))
print("RFC 2822: %s" % mtime.strftime('%a, %d %b %Y %H:%M:%S %Z'))

Manipulate

TODO Code
Yesterday
yesterday = (datetime.today() - timedelta(days=1)).strftime('%Y-%m-%d')