zoukankan      html  css  js  c++  java
  • python3之time、datetime、random

    UTC:协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。

    中国属于东八区,领先世界时间8小时

    time模块

    time.time():以时间戳的格式获取当前时间

    >>> import time
    >>> time.time()
    1535703909.7759054

    time.gmtime(n):将时间戳格式转化为元组时间格式显示,时间为UTC时区;参数n为传入的时间戳,如果不传,则默认是当前时间

    返回结果:time.struct_time(tm_year=1973, tm_mon=11, tm_mday=29, tm_hour=21, tm_min=33, tm_sec=9, tm_wday=3, tm_yday=333, tm_isdst=0);(年,月,日,时,分,秒,每周的第几天从0开始,当年的第多少天,夏令时)

    >>> import time

    >>> time.gmtime(123456789)    # 传入时间戳,将时间戳转化为元组时间格式显示
    time.struct_time(tm_year=1973, tm_mon=11, tm_mday=29, tm_hour=21, tm_min=33, tm_sec=9, tm_wday=3, tm_yday=333, tm_isdst=0)

    >>> time.gmtime()    # 未传参数,默认是当前的时间戳
    time.struct_time(tm_year=2018, tm_mon=8, tm_mday=31, tm_hour=8, tm_min=34, tm_sec=45, tm_wday=4, tm_yday=243, tm_isdst=0)

    time.localtime(n):将时间戳格式转化为元组是按格式显示,时间为UTC+8小时 时区;参数n为传入的时间戳,如果不传,则默认是当前时间

    >>> import time
    >>> n = time.localtime(11111111)
    >>> print("%d年%d月%d日" % (n.tm_year, n.tm_mon, n.tm_mday))    # 读取元祖时间格式
    1970年5月9日
    >>> n
    time.struct_time(tm_year=1970, tm_mon=5, tm_mday=9, tm_hour=22, tm_min=25, tm_sec=11, tm_wday=5, tm_yday=129, tm_isdst=0)

    time.mktime(n):将元组时间格式转化为时间戳

    >>> import time
    >>> n = time.localtime()
    >>> n
    time.struct_time(tm_year=2018, tm_mon=8, tm_mday=31, tm_hour=16, tm_min=45, tm_sec=14, tm_wday=4, tm_yday=243, tm_isdst=0)
    >>> time.mktime(n)
    1535705114.0

    time.strftime("%Y-%m-%d %H:%M:%S", format):将元组时间格式转化为格式化字符串;

    各个字节代表:%Y:tm_year;%m:tm_mon;%d:tm_mday;%H:tm_hour;%M:tm_min;%S:tm_sec

    >>> import time
    >>> n = time.localtime()
    >>> n
    time.struct_time(tm_year=2018, tm_mon=8, tm_mday=31, tm_hour=16, tm_min=52, tm_sec=30, tm_wday=4, tm_yday=243, tm_isdst=0)
    >>> time.strftime("%Y-%m-%d %H:%M:%S", n)
    '2018-08-31 16:52:30'

    time.strptime("2018-08-01 00:30:59", "%Y-%m-%d %H:%M:%S"):将格式化字符串转化为元组时间格式

    >>> import time
    >>> time.strptime("2018-08-01 00:30:59", "%Y-%m-%d %H:%M:%S")
    time.struct_time(tm_year=2018, tm_mon=8, tm_mday=1, tm_hour=0, tm_min=30, tm_sec=59, tm_wday=2, tm_yday=213, tm_isdst=-1)

    time.asctime(tuple):将元组时间格式转化为"%a %b %d %H-%M-%S %Y"

    注释:%a:星期几;%b:月份;%d:当月的第多少天

    >>> import time
    >>> time.asctime(time.localtime())
    'Fri Aug 31 17:03:16 2018'

    time.ctime(seconds):将时间戳转化为"%a %b %d %H-%M-%S %Y"

    >>> import time
    >>> time.ctime(time.time())
    'Fri Aug 31 17:05:56 2018'

    datetime模块

    >>> import datetime
    >>> datetime.datetime.now()    # 获取当前时间
    datetime.datetime(2018, 8, 31, 17, 16, 14, 801421)
    >>> print(datetime.datetime.now())    # 获取当前时间
    2018-08-31 17:16:20.034465
    >>> datetime.datetime.now() + datetime.timedelta(3)    # 获取当前时间往后 + 三天的时间
    datetime.datetime(2018, 9, 3, 17, 16, 23, 807373)
    >>> datetime.datetime.now() - datetime.timedelta(2)    # 获取当前时间往后 - 两天的时间
    datetime.datetime(2018, 8, 29, 17, 16, 28, 195937)
    >>> datetime.datetime.now() + datetime.timedelta(hours = 3)    # 获取当前时间 + 三小时
    datetime.datetime(2018, 8, 31, 20, 16, 34, 494012)
    >>> datetime.datetime.now() + datetime.timedelta(minutes = 30)    # 获取当前时间 + 30分钟
    datetime.datetime(2018, 8, 31, 17, 46, 38, 917607)
    >>> datetime.datetime.now() + datetime.timedelta(seconds = 3)    # 获取当前时间 + 3秒
    datetime.datetime(2018, 8, 31, 17, 16, 51, 837951)

    random模块 

    # 随机返回区间(0,1)任意浮点数
    print(random.random())   
    # 随机返回区间[1,3]任意整数数 
    print(random.randint(1,3))    
    # 随机返回区间[0,3)任意整数数
    print(random.randrange(3))    
     # 随机返回可迭代序列中的一个
    print(random.choice("hello"))   
    # 随机返回可迭代序列中的三个
    print(random.sample("hello", 3))    
    # 随机返回区间(1,3)任意浮点数
    print(random.uniform(1,3))     
    
    # 将一个有序数列,打乱重新排序
    n = [1, 2, 3, 4, 5, 6]
    random.shuffle(n)    
    print(n)
  • 相关阅读:
    MySQL LIMIT OFFSET
    Sublime Text 3安装清爽主题(著名的Soda Theme)
    MySQL无法远程连接解决方案
    算法题:李嘉诚保险柜密码问题
    一些不错的算法学习练习站点
    [转]MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'(111) 的问题
    使用什么工具连接MySQL Server
    CentOS 7修改MySQL 5.6字符集为UTF-8
    CentOS 7 Minimal编译安装MySQL5.6
    如何使浏览器默认下载文件而不是打开文件
  • 原文地址:https://www.cnblogs.com/gxfaxe/p/9566986.html
Copyright © 2011-2022 走看看