datetime
datetime本身是一个模块,datetime模块中包含一个datetime类。
from datetime import datetime
照上方这样导入的才是datetime这个类。
datetime.timedelta()
一个timedelta对象表示一个时间长度(可指定两个日期或者时间的差值)
class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
具体的转换规则为:
- 1 millisecond = 1000 microseconds
- 1 minute = 60 seconds
- 1 hour = 3600 seconds
- 1 week = 7 days
datetime.strptime()
把str转换为datetime对象,需要一个日期和时间的格式化字符串:from datetime import datetimecday = datetime.strptime('2017-8-1 18:20:20', '%Y-%m-%d %H:%M:%S')print(cday)# 2017-08-01 18:20:20
datetime.strftime()
获取datetime对象后,将其格式化为str显示给用户: ```python from datetime import datetime now = datetime.now() print(now.strftime(‘%a, %b %d %H:%M’))
Mon, May 08 20:22
<a name="1wxmE"></a>### 日期格式化符号- %y 两位数的年份表示(00-99)- %Y 四位数的年份表示(000-9999)- **%m 月份****(01-12)**- %d 月内中的一天(0-31)- %H 24小时制小时数(0-23)- %I 12小时制小时数(01-12)- **%M 分钟数**(00=59)- %S 秒(00-59)- %a 本地简化星期名称- %A 本地完整星期名称- %b 本地简化的月份名称- %B 本地完整的月份名称- %c 本地相应的日期表示和时间表示- %j 年内的一天(001-366)- %p 本地A.M.或P.M.的等价符- %U 一年中的星期数(00-53)星期天为星期的开始- %w 星期(0-6),星期天为星期的开始- %W 一年中的星期数(00-53)星期一为星期的开始- %x 本地相应的日期表示- %X 本地相应的时间表示- %Z 当前时区的名称- %% %号本身<a name="L1JMO"></a>## 实例:GMT格式转换```pythondef formatGMTime(gtime):G_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'format_dt = datetime.strptime(gtime, G_FORMAT) + timedelta(hours=8)str_dt = format_dt.strftime('%Y-%m-%d')return str_dt>>> formatGMTime('Tue, 23 Feb 2021 07:44:08 GMT')>>> '2021-02-23'
