Python datetime 格式化字符串:strftime() strptime

本文详细介绍了Python中datetime模块的strftime()和strptime()方法,用于datetime对象与字符串之间的转换。通过各种格式化控制字符,如%a、%A、%b、%B等,可以灵活地格式化和解析日期时间。文中通过实例展示了如何使用这些方法,并给出了相应的输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

strptime()是将传进来的字符串时间(第一个参数)按照指定格式(第二个参数)转换成datetime类型;字符串–>datetime
strftime()将传进来的datetime时间(第一个参数)按照指定格式(第二个参数)转换成字符串类型;datetime–>字符串;
如果指定格式对应位置的时间是空的,默认为0

把字符串转换成日期

import datetime  #引入datetime模块

time= datetime.strptime('2018-4-19 11:19:59','%Y-%m-%d %H:%M:%S')   #把字符串转换成时间

print time   #输出时间信息

把日期转换成字符串

import datetime  #引入datetime模块

str = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')  #获取当前时间并转化成字符串

print str   #输出字符串信息

datetime.day,datetime.month,datetime.year 分别表示一个datetime对象的日,月,年;如下

from datetime import datetime
dt=datetime.now() #创建一个datetime类对象
print dt.year,dt.month,dt.day

‘’’
输出为:
2019 09 08
‘’’

下面着重记录一下 另一个方法: strftime() 用来格式化datetime 对象, 有时候会十分的方便:
先看一下格式: datetime.strftime(‘%’ ) %后面跟一个控制字符,如下:

格式符 说明
%a 星期的英文单词的缩写:如星期一, 则返回 Mon
%A 星期的英文单词的全拼:如星期一,返回 Monday
%b 月份的英文单词的缩写:如一月, 则返回 Jan
%B 月份的引文单词的缩写:如一月, 则返回 January
%c 返回datetime的字符串表示,如03/08/15 23:01:26
%d 返回的是当前时间是当前月的第几天
%f 微秒的表示: 范围: [0,999999]
%H 以24小时制表示当前小时
%I 以12小时制表示当前小时
%j 返回 当天是当年的第几天 范围[001,366]
%m 返回月份 范围[0,12]
%M 返回分钟数 范围 [0,59]
%P 返回是上午还是下午–AM or PM
%S 返回秒数 范围 [0,61]。。。手册说明的
%U 返回当周是当年的第几周 以周日为第一天
%W 返回当周是当年的第几周 以周一为第一天
%w 当天在当周的天数,范围为[0, 6],6表示星期天
%x 日期的字符串表示 :09/08/19
%X 时间的字符串表示 :23:22:08
%y 两个数字表示的年份 19
%Y 四个数字表示的年份 2019
%z 与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z 时区名称(如果是本地时间,返回空字符串)
举几个列子:

from datetime import datetime
dt = datetime.now()
print '时间:(%Y-%m-%d %H:%M:%S %f): ’ , dt.strftime( ‘%Y-%m-%d %H:%M:%S %f’ )
print '时间:(%Y-%m-%d %H:%M:%S %p): ’ , dt.strftime( ‘%y-%m-%d %I:%M:%S %p’ )
print '星期缩写%%a: %s ’ % dt.strftime( ‘%a’ )
print '星期全拼%%A: %s ’ % dt.strftime( ‘%A’ )
print '月份缩写%%b: %s ’ % dt.strftime( ‘%b’ )
print '月份全批%%B: %s ’ % dt.strftime( ‘%B’ )
print '日期时间%%c: %s ’ % dt.strftime( ‘%c’ )
print '今天是这周的第%s天 ’ % dt.strftime( ‘%w’ )
print '今天是今年的第%s天 ’ % dt.strftime( ‘%j’ )
print '今周是今年的第%s周 ’ % dt.strftime( ‘%U’ )
print '今天是当月的第%s天 ’ % dt.strftime( ‘%d’ )

‘’’
输出如下:

时间:(%Y-%m-%d %H:%M:%S %f): 2019-09-08 15:07:32 181000
时间:(%Y-%m-%d %H:%M:%S %p): 19-09-08 13:21:27 PM
星期缩写%a: Sun
星期全拼%A: Sunday
月份缩写%b: Mar
月份全批%B: March
日期时间%c: 09/08/119 15:07:32
今天是这周的第0天
今天是今年的第067天
今周是今年的第10周
今天是当月的第08天

‘’’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伟伟哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值