生成随机日期

生成随机日期的范围start、end转换成unix时间戳
然后用random.randint(start,end)之间的数,这个函数产生[start,end]的随机数
然后用time.localtime()把时间戳转成time中的时间元组结构
最后用time.strftime('%Y-%m-%d',time_struct)
这个time_struct没有strftime方法,必须用time.strftime
代码参考:
#coding:utf-8
import time
import random

a1=(2009,8,27,0,0,0,0,0,0)              #设置开始日期时间元组(1976-01-01 00:00:00)
a2=(2019,5,28,23,59,59,0,0,0)    #设置结束日期时间元组(1990-12-31 23:59:59)

start=time.mktime(a1)    #生成开始时间戳
end=time.mktime(a2)      #生成结束时间戳
print start
print end
#随机生成10个日期字符串
for i in range(10):     
    t=random.randint(start,end)    #在开始和结束时间戳中随机取出一个
    date_touple1 =time.localtime(t)    #将时间戳生成时间元组
    t=random.randint(start,end)    #在开始和结束时间戳中随机取出一个
    date_touple2 =time.localtime(t)          #将时间戳生成时间元组
    if date_touple1 < date_touple2:
        date_start = date_touple1
        date_end = date_touple2
    else:
        date_start = date_touple2
        date_end = date_touple1
    date_start=time.strftime("%Y-%m-%d",date_start)  #将时间元组转成格式化字符串(1976-05-21)
    date_end=time.strftime("%Y-%m-%d",date_end)
    #date_end = date_end.strftime("%Y-%m-%d")
    print '%s - %s' % (date_start,date_end)

这里面是用time来做时间戳和时间结构的转换,用datetime也是同理,最核心的地方就是随机产生int数作为时间戳

留言

熱門文章