一、python中时间日期格式符号
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(0000-9999)
%m 月份
%d 月中的一天
%H 24小时制小时数
%I 12小时制小时数
%M 分钟数
%S 秒
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示的时间表示
%j 年内的一天(000-366)
%p 本地A.M. 或 P.M. 等价符
%U 一年中的星期数(0-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
代码验证如下:
res = time.time()
time.sleep(3)
res = time.strftime("%Y-%m-%d")
res = time.strftime('%Y-%m-%d %H:%M:%S')
res = time.strftime('%Y-%m-%d %X')
res = time.strftime('%Y-%m-%d %I')
res = time.strftime('%y-%m')
res = time.strftime('%y-%m %b')
res = time.strftime('%y-%m %B')
res = time.strftime('%y-%m %c')
res = time.strftime('%y-%m %j')
res = time.strftime('%y-%m %p')
res = time.strftime('%y-%m %U')
res = time.strftime('%y-%m %W')
res = time.strftime('%y-%m %w')
res = time.strftime('%y-%m %%a')
结构化时间 --> %a %b %d %H:%M:%S %Y串
# 结构化时间 --> %a %b %d %H:%M:%S %Y串
# time.asctime(结构化时间) 如果不传参数,直接返回当地时间的格式化串
time_asctime = time.asctime(time.localtime(1500000000)) # # Fri Jul 14 10:40:00 2017
asctime = time.asctime() # Fri Jun 9 15:52:58 2023
# time.ctime(时间戳) 若不传参,直接返回当前的格式化串
ctime = time.ctime() # Fri Jun 9 15:54:33 2
ctime = time.ctime(1500000000) # Fri Jul 14 10:40:00 2017
time_mktime = time.mktime(time.strptime('2023-6-9 12:48:32', '%Y-%m-%d %H:%M:%S'))
now_mktime = time.mktime(time.strptime('1995-5-12 16:04:00', '%Y-%m-%d %H:%M:%S'))
htime = time_mktime - now_mktime
struct_time = time.gmtime(htime)
print('过去了%d年%d月%d天%d小时%d分钟%d秒' % (struct_time.tm_year-1970, struct_time.tm_mon-1,
struct_time.tm_mday-1, struct_time.tm_hour, struct_time.tm_min, struct_time.tm_sec))
#time.strftime("格式定义","结构化时间") 结构化时间参数若不传,则显示当前时间
>>>time.strftime("%Y-%m-%d %X")
'2017-07-24 14:55:36'
>>>time.strftime("%Y-%m-%d",time.localtime(1500000000))
'2017-07-14'
#字符串时间-->结构化时间
#time.strptime(时间字符串,字符串对应格式)
>>>time.strptime("2017-03-16","%Y-%m-%d")
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1)
>>>time.strptime("07/24/2017","%m/%d/%Y")
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=24, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=205, tm_isdst=-1)
time_tuple = time.localtime(1500000000)
res = time.mktime(time_tuple)
# print(res) # 1500000000.0
二、time模块
times.stamp 时间戳
struct_time 结构化时间
Format string 格式化时间
1. 时间戳 ---> 结构化时间
time.gmtime(时间戳) #UTC时间,与英国伦敦当地时间一致
time.localtime(时间戳) #当地时间。例如我们现在在北京执行这个方法:与UTC时间相差8小时,UTC时间+8小时 = 北京时间
>>>time.gmtime(1500000000)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=2, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
>>>time.localtime(1500000000)
time.struct_time(tm_year=2017, tm_mon=7, tm_mday=14, tm_hour=10, tm_min=40, tm_sec=0, tm_wday=4, tm_yday=195, tm_isdst=0)
2. 结构化时间-->时间戳
#time.mktime(结构化时间)
>>>time_tuple = time.localtime(1500000000)
>>>time.mktime(time_tuple)
1500000000.0
三、datetime模块
tdelta = datetime.timedelta(days=7, hours=10)
tday = datetime.datetime.today()
print('7天之后的日期是:%s' % (tday + tdelta))
print('7天之前的日期是:%s' % (tday - tdelta))
'''
日期对象 = 日期对象 +/- timedelta对象
timedelta对象 = 日期对象 +/- 日期对象
'''
birthday = datetime.date(2023, 11, 3)
now_date = datetime.date.today()
days = birthday - now_date
print(days)
dt_today = datetime.datetime.today()
dt_now = datetime.datetime.now()
dt_utcnow = datetime.datetime.utcnow()
print(dt_utcnow)
print(dt_now)
四、random模块
print(random.random())
print(random.uniform(1, 10))
print(random.randint(1, 5))
print(random.randrange(1, 10, 2))
print(random.choice([1, '23', [4, 5], 5, 6]))
print(random.choice(['一等奖', '二等奖', '三等奖']))
print(random.sample([1, '23', [4, 5], 5, 6], 3))
item = ['A', '2', '3', '4', '5', 'J', 'Q']
res = random.shuffle(item)
print(res)
print(item)
def get_code(n):
code = ''
for i in range(n):
num = str(random.randint(0, 9))
upper_chr = chr(random.randint(65, 90))
lower_chr = chr(random.randint(97, 122))
code += random.choice([num, upper_chr, lower_chr])
return code
五、sys模块
import sys
print(sys.path)
print(sys.argv)
try:
print(sys.argv[1])
print(sys.argv[2])
print(sys.argv[3])
except:
print('出错了')