社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python代码阅读(第82篇):datetime对象和ISO时间日期字符串相互转化

FelixZzzz • 3 年前 • 671 次点击  

Python 代码阅读合集介绍: 为什么不推荐Python初学者直接看项目源码

本篇阅读的代码实现了将 datetime 对象转化为 ISO 8601 字符串,并将其还原回 datetime 对象的功能。

本篇阅读的代码片段来自于 30-seconds-of-python

to_iso_date

from datetime import datetime

def to_iso_date(d):
  return d.isoformat()

# EXAMPLES
print(to_iso_date(datetime(2020, 10, 25))) # 2020-10-25T00:00:00

to_iso_date 函数接收一个 datetime 对象,返回 ISO 8601 标准的日期和时间字符串。

函数直接使用 datetime.isoformat() 进行转化。

from_iso_date

from datetime import datetime

def from_iso_date(d):
  return datetime.fromisoformat(d)

# EXAMPLES
print(from_iso_date('2020-10-28T12:30:59.000000')) # 2020-10-28 12:30:59

from_iso_date 函数接收一个 ISO 8601 规范的日期和时间字符串,返回一个 datetime.datetime 对象。

函数直接使用 datetime 对象的 fromisoformat() 方法将日期字符串转化为 datetime 对象。

实际上该函数 并不支持 解析任意 ISO 8601 字符串。它是作为 datetime.isoformat() 的逆操作。 在第三方包 dateutil 中提供了一个更完善的 ISO 8601 解析器 dateutil.parser.isoparse

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/123423
 
671 次点击