下面将介绍一些常用函数的用法。
1. python中strftime()和strptime()函数的描述与用法
-
strftime()
函数用来表示时间元组,返回可读字符串表示的当前时间,由()
里面的参数决定格式。 -
strptime()
函数是按照特定时间格式将字符串转换成时间类型。它们重点是格式之间的转换。 -
datetime.now()
:获取电脑当前时间,且随着电脑配置时间而改变,不带时区。(例如中国北京时间) -
datetime.utcnow()
:获取世界标准时区的当前时间,与电脑配置无关,带时区。(例如格林威治时间)
1.1 基本格式
datetime.strftime('%Y') #strftime()函数日期格式转字符串格式
datetime.strptime(str,'%Y') #strptime()函数字符串格式转日期格式
其中str
表示字符串格式,%Y
表示参数是一个时间格式。
%y #两位数年份(00-99)
%Y #四位数年份(0000-9999)
%m #月份(01-12)
%d #月内的某一天(0-31)
%H #24小时制(0-23)
%I #12小时制(01-12)
%M #分钟(00-59)
%S #秒钟(00-59)
%X #本地时间表示(时:分:秒)(xx:xx:xx)
%x #本地日期表示(月/天/时,xx/xx/xx)
1.2 例子
from datetime import datetime #调用datetime模块,以便使用strftime函数
now = datetime.now() #定义当前时间
year = now.strftime("%Y") #调用strftime函数获取当前年份
month = now.strftime("%m") #调用strftime函数获取当前年份
day = now.strftime("%d") #调用strftime函数获取当前年份
print(year,"年",month,"月",day,"日")
输出
2021 年 10 月 31 日
strftime()
和strptime()
函数的区别例子。
from datetime import datetime #调用datetime模块,以便使用strftime和strptime函数
datetime.now().strftime('%Y-%m-%d %H:%M:%S') #获取当前时间,并按照年月日,时分秒格式输出
输出'2021-11-01 09:46:33'
from datetime import datetime #调用datetime模块,以便使用strftime和strptime函数
datetime.strptime('2021-11-01 09:30:30','%Y-%m-%d %H:%M:%S') #将上述的时间格式转换为字符串格式
输出'datetime.datetime(2021, 11, 1, 9, 30, 30)'
2. binascii模块中进制之间的相互转换
binascii模块中包含了许多二进制和ASCII编码的二进制表示的转换,以下先介绍一些python的内置函数。
2.1 基本格式
hex() #把十进制整形转换成16进制
bin() #把十进制整形转换成二进制
oct() #把十进制整形转换成八进制
chr() #把整形转换成ASCII码表中对应的字符
ord() #把ASCII码表中的字符转换成对应的整形
2.2 例子
hex(100)
输出'0x64'
bin(100)
输出'0b1100100'
oct(100)
输出'0c144'
chr(100)
输出'd'
ord('d')
输出100
此外,区别函数b2a_hex()
、hexlify
和a2b_hex()
、unhexlify
函数。其中可以把b2a_hex()
中的b
看作是bin(二进制)意思,a
看作是ascii码意思,以便于理解b2a_hex
和a2b_hex
了。
import binascii #需要导入模块binascii
a = b'hello' #注意这里需要在字符串前面加b,否则会出错
b = binascii.b2a_hex(a)
c = binascii.hexlify(a)
d = binascii.unhexlify(b)
e = binascii.a2b_hex(b)
print(b)
print(c)
print(d)
print(e)
输出
b'68656c6c6f
b'68656c6c6f
b'hello'
b'hello'
可以看出函数b2a_hex()
和hexlify
是一个函数,都是返回二进制数据的十六进制表示。同理,a2b_hex()
和unhexlify
和也是同一个函数,与前面两个函数的功能正好相反。
值得注意的是hex()
和binascii.hexlify()
功能类似,但是有区别,hex()
只能接受整形的转换,而不能接受字符串。