当前位置: 代码迷 >> 综合 >> python中datetime.strptime(),strftime()的应用
  详细解决方案

python中datetime.strptime(),strftime()的应用

热度:55   发布时间:2024-01-10 20:19:55.0

datetime是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类。

strptime():str-parse-time  # string to datetime

strftime():str-format-time  # datetime to  string

strptime():

用户输入的日期和时间是字符串,要处理日期和时间,首先必须把str转换为datetime。转换方法是通过datetime.strptime()实现,需要一个日期和时间的格式化字符串:

 >>> from datetime import datetime>>> cday = datetime.strptime('2022-3-1 18:20:20', '%Y-%m-%d %H:%M:%S')>>> print(cday)2022-03-01 18:20:20

strftime():

后台提取到datetime对象后,要把它格式化为字符串显示给用户,就需要转换为str,转换方法是通过strftime()实现的,同样需要一个日期和时间的格式化字符串:

>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now.strftime('%a, %b %d %H:%M'))
Sun, May 01 00:16

datetime加减:

对日期和时间进行加减实际上就是把datetime往后或往前计算,得到新的datetime。加减可以直接用+-运算符,不过需要导入timedelta这个类:

>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2022, 5, 1, 0, 16, 59, 248600)
>>> now + timedelta(hours=10)
datetime.datetime(2022, 5, 1, 10, 16, 59, 248600)
>>> now - timedelta(days=1)
datetime.datetime(2022, 4, 30, 0, 16, 59, 248600)
>>> now + timedelta(days=2, hours=12)
datetime.datetime(2022, 5, 3, 12, 16, 59, 248600)
  相关解决方案