• 获取两个时间点间的随机时间&时间戳


    获取两个时间点间的随机时间&时间戳

    方案一

    # python2 不兼容,python3正常
    import datetime,random
    def randomtimes(start, end, n, frmt="%Y-%m-%d"):
        stime = datetime.datetime.strptime(start, frmt)
        etime = datetime.datetime.strptime(end, frmt)
        return [random.random() * (etime - stime) + stime for _ in range(n)]
    
    randomtimes('2018-06-01','2018-11-01',10)

     

    方案二

    import random
    import time
    from datetime import datetime
    
    def strTimeProp(start, end, prop, frmt):
        stime = time.mktime(time.strptime(start, frmt))
        etime = time.mktime(time.strptime(end, frmt))
        ptime = stime + prop * (etime - stime)
        return int(ptime)
    
    def randomTimestamp(start, end, frmt='%Y-%m-%d %H:%M:%S'):
        return strTimeProp(start, end, random.random(), frmt)
    
    def randomDate(start, end, frmt='%Y-%m-%d %H:%M:%S'):
        return time.strftime(frmt, time.localtime(strTimeProp(start, end, random.random(), frmt)))
    
    def randomTimestampList(start, end, n, frmt='%Y-%m-%d %H:%M:%S'):
        return [randomTimestamp(start, end, frmt) for _ in xrange(n)]
    
    def randomDateList(start, end, n, frmt='%Y-%m-%d %H:%M:%S'):
        return [randomDate(start, end, frmt) for _ in xrange(n)]
    
    start = '2018-06-02 12:12:12'
    end = '2018-11-01 00:00:00'
    lenth = 10
    print(randomTimestamp(start, end))
    print(randomDate(start,end))
    print(randomTimestampList(start, end, lenth))
    print(randomDateList(start, end, lenth))

    结果

    在这里插入图片描述

  • 相关阅读:
    Matrix-tree 定理的一些整理
    多项式
    多项式
    vijos 1641 Vs Snowy
    noip 提高组 2010
    军训有感
    我的将军啊
    洛谷 P3302 [SDOI2013]森林
    关于线段树
    关于KMP
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/12204899.html
Copyright © 2020-2023  润新知