python输出生日程序_python学习5--生成日期/生日

前言

python接口自动化添加员工信息时,需要填写生日,批量添加员工,如何随机生成生日呢?

python提供了一个time和calendar模块可以用于格式化日期和时间。

一、了解python3 日期和时间的基础知识

1.1 时间戳,time.time()#1597902084.742635

1.2 时间元组格式:time.localtime(时间戳 或 空)、(年、月、日、小时、分钟、秒、一周第几日、一年第几日、夏令时)、time.strptime(时间字符串,时间格式字符串)

很多python函数用一个元组装起来的9组数字处理时间

时间元组:time.localtime(time.time())

time.localtime()  #time.struct_time(tm_year=2020, tm_mon=8, tm_mday=20, tm_hour=14, tm_min=2, tm_sec=44, tm_wday=3, tm_yday=233, tm_isdst=0)

a=(2020,8,20,11,25,38,0,0,0) #自定义 9组数字

time.strptime("Thu Aug 20 11:42:27 2020","%a %b %d %H:%M:%S %Y")

time.strptime("2020-08-20 11:25:38","%Y-%m-%d %H:%M:%S")

1.3 格式化时间格式:time.asctime(时间元组)

time.asctime(a))

time.asctime(time.localtime())     #Thu Aug 20 13:41:24 2020

1.4 格式化日期格式:time.strftime(日期形式字符串,时间元组)

time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())

time.strftime("%Y-%m-%d %H:%M:%S",a)  #2020-08-20 13:41:24

time.strftime("%a %b %d %H:%M:%S %Y",a)  #Thu Aug 20 13:41:24 2020

1.5 格式字符串转换为时间戳格式:time.mktime(time.strptime(字符串,日期格式字符串)

a="Thu Aug 20 11:42:27 2020"

print(time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))

b="2020-08-20 11:25:38"

print(time.mktime(time.strptime(b,"%Y-%m-%d %H:%M:%S")))

import time

print("时间戳:{}".format(time.time())) #当前时间戳

#时间元组

print("==时间元组==")

print(time.localtime(time.time())) #当前时间元组

print(time.localtime())

a=(2020,8,20,11,25,38,0,0,0)#自定义时间元组

print(time.strptime("Thu Aug 20 11:42:27 2020","%a %b %d %H:%M:%S %Y"))#格式化时间转元组

print(time.strptime("2020-08-20 11:25:38","%Y-%m-%d %H:%M:%S"))#格式化日期转元组

#格式化的时间 #Mon Aug 20 11:25:38 2020

print("==格式化时间==")

print(time.asctime(a))

print(time.asctime(time.localtime(time.time())))

#格式化日期

#格式化成 2016-01-01 11:20:30形式

print("==格式化日期==")

print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))

print(time.strftime("%Y-%m-%d %H:%M:%S",a))

#格式化成 2016-01-01 形式

print(time.strftime('%Y-%m-%d',a))

#格式化成Sat Mar 20 11:20:20 2016形式

print(time.strftime("%a %b %d %H:%M:%S %Y",time.localtime()))

print(time.strftime("%a %b %d %H:%M:%S %Y",a))

#格式字符串转换成时间戳

aa="Thu Aug 20 11:42:27 2020"

print(time.mktime(time.strptime(aa,"%a %b %d %H:%M:%S %Y")))

bb="2020-08-20 11:25:38"

print(time.mktime(time.strptime(bb,"%Y-%m-%d %H:%M:%S")))

print(time.strptime(bb,"%Y-%m-%d %H:%M:%S"))#时间元组

#将时间元组转成时间戳

print(time.mktime(a))

运行结果:

时间戳:1597906614.8230116

==时间元组==

time.struct_time(tm_year=2020, tm_mon=8, tm_mday=20, tm_hour=14, tm_min=56, tm_sec=54, tm_wday=3, tm_yday=233, tm_isdst=0)

time.struct_time(tm_year=2020, tm_mon=8, tm_mday=20, tm_hour=14, tm_min=56, tm_sec=54, tm_wday=3, tm_yday=233, tm_isdst=0)

time.struct_time(tm_year=2020, tm_mon=8, tm_mday=20, tm_hour=11, tm_min=42, tm_sec=27, tm_wday=3, tm_yday=233, tm_isdst=-1)

time.struct_time(tm_year=2020, tm_mon=8, tm_mday=20, tm_hour=11, tm_min=25, tm_sec=38, tm_wday=3, tm_yday=233, tm_isdst=-1)

==格式化时间==

Mon Aug 20 11:25:38 2020

Thu Aug 20 14:56:54 2020

==格式化日期==

2020-08-20 14:56:54

2020-08-20 11:25:38

2020-08-20

Thu Aug 20 14:56:54 2020

Mon Aug 20 11:25:38 2020

1597894947.0

1597893938.0

time.struct_time(tm_year=2020, tm_mon=8, tm_mday=20, tm_hour=11, tm_min=25, tm_sec=38, tm_wday=3, tm_yday=233, tm_isdst=-1)

1597893938.0

二、生成日期/生日

import time

import random

#日期转换成元组

begin=(1971,1,1,0,0,0,0,0,0) #后面3个填写要求范围内的任意数字

end=(2014,12,31,23,59,59,0,0,0)

#将时间元组转化成时间戳

dbegin=time.mktime(begin)

dend=time.mktime(end)

#随机取值

rdate=random.randint(dbegin,dend)

#时间戳转时间元组,格式化日期

date=time.strftime("%Y-%m-%d",time.localtime(rdate))

print(date)

运行结果

1981-10-08

三、总结

平时经常使用:

1.获取时间戳

2.时间戳转日期

a=int(time.time())

print(a)

print(time.strftime("%Y-%m-%d",time.localtime(a)))

3.time下的方法:

time.time() #时间戳,

time.localtime(时间戳) #时间元组

time.strptime(字符串,时间格式) #时间元组,

(1971,1,1,0,0,0,0,0,0) #时间元组

time.strftime(时间格式,时间元组) #日期字符串,

time.asctime(时间元组) #时间字符串

time.mktime(时间元组) 时间戳

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值