Python中datetime.strptime()和strftime()的应用

版权声明:Shallow@版权所有 原创文章不经允许不得转载 https://blog.csdn.net/xili2532/article/details/90237674
datetime是一个模块,它提供了日期格式和字符串格式相互转化的函数,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类。

1.strptime():

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

>>>day = datetime.strptime(‘2019-5-1 5:54:45’, ‘%Y-%m-%d %H:%M:%S’)
>>>day
>>>datetime.datetime(2019, 5, 1, 5, 54, 45)
>>> print(day)
2019-05-01 05:54:45
>>> type(day)
<class ‘datetime.datetime’>

2.strftime():

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

>>> s=datetime.strftime(datetime.now(), “%Y-%m-%d %H:%M”)
>>> s
‘2019-05-15 15:26’
>>> type(s)
<class ‘str’>
>>> print(s)
2019-05-15 15:26

3.datetime加减:

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

>>> from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2019, 5, 15, 15, 29, 17, 470262)
>>> now + timedelta(hours=8)
datetime.datetime(2019, 5, 15, 23, 29, 17, 470262)
>>> now - timedelta(days=2)
datetime.datetime(2019, 5, 13, 15, 29, 17, 470262)
>>> now + timedelta(days=2, hours=12)
datetime.datetime(2019, 5, 18, 3, 29, 17, 470262)
>>> now - timedelta(days=2.5)
datetime.datetime(2019, 5, 13, 3, 29, 17, 470262)

python中时间日期格式化符号:

%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 当前时区的名称
%% %号本身

猜你喜欢

转载自blog.csdn.net/xili2532/article/details/90237674