Python/Datetime: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
Line 31: Line 31:
| To RFC string ||
| To RFC string ||
<source lang="python3">
<source lang="python3">
import os.path
from datetime 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'))
</source>
</source>
|}
|}

Revision as of 08:06, 18 May 2018

Parsing

TODO Code
Parse RFC Time
import datetime
datetime.datetime.strptime(s, '%a, %d %b %Y %H:%M:%S GMT')

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
from datetime 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