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 datetime
cday = 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格式转换
```python
def 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'