zoukankan      html  css  js  c++  java
  • python获取时间,自定义的时间格式,时间戳,十六进制时间类型输出

    python获取时间,此文使用到的两个库:IDE-PyCharm

    import time
    import datetime
    

    获取当前日期和时间:

    now_tm = datetime.datetime.now()
    print(now_tm)
    

    可以格式化想要的日期格式:

    now_tm = (datetime.datetime.now().strftime('%Y%m%d%H%M%S'))
    print(now_tm)  # 输出秒级的时间-年月日时分秒

      格式化可以参考格式参数

    获取当前时间并输出时间戳数据类型:

    now_tm = (datetime.datetime.now().strftime('%Y%m%d%H%M%S'))
    time_array = time.strptime(now_tm, '%Y%m%d%H%M%S')
    return_tm = str(int(time.mktime(time_array)))
    print(return_tm)

    将时间以十六进制输出:

    now_tm = (datetime.datetime.now().strftime('%Y%m%d%H%M%S'))
    time_array = time.strptime(now_tm, '%Y%m%d%H%M%S')
    stamp_tm = int(time.mktime(time_array))
    return_tm = hex(stamp_tm)[2:]
    print(return_tm)

    在当前时间,增加或者减少时间可以使用:datetime.timedelta()方法

    return_tm = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime('%Y%m%d%H%M%S')  # 获取当前时间加上一天的时间
    

    附自定义方法代码:获取当前时间,可以增减或者减少时间,同时可以转换需要的时间类型

    def get_encryption_time(day="0", hour="0", minute="0", second="0", get_time_type=None):
        if day != "0" or minute != "0" or hour != "0" or second != "0":
            day = int(day)
            hour = int(hour)
            minute = int(minute)
            second = int(second)
            if get_time_type == "time-stamp":
                now_tm = (datetime.datetime.now() + datetime.timedelta(days=day, hours=hour, minutes=minute,
                                                                          seconds=second)).strftime('%Y%m%d%H%M%S')
                time_array = time.strptime(now_tm, '%Y%m%d%H%M%S')
                return_tm = str(int(time.mktime(time_array)))
            else:
                return_tm = (datetime.datetime.now() + datetime.timedelta(days=day, hours=hour, minutes=minute,
                                                                          seconds=second)).strftime('%Y%m%d%H%M%S')
        else:
            if get_time_type == "time-stamp":
                now_tm = (datetime.datetime.now().strftime('%Y%m%d%H%M%S'))
                time_array = time.strptime(now_tm, '%Y%m%d%H%M%S')
                return_tm = str(int(time.mktime(time_array)))
            else:
                return_tm = (datetime.datetime.now().strftime('%Y%m%d%H%M%S'))
        return return_tm
    
    
    print(get_encryption_time())
    print(get_encryption_time(get_time_type="time-stamp", second="-1"))
    print(get_encryption_time(get_time_type="time-stamp"))
    print(get_encryption_time(get_time_type="time-stamp", second="1"))

      该方法使用了int()函数转化,传入参数时,格式必须符合要求,改进方法可以增加try...except

    格式参数:

    %a 星期几的简写
    %A 星期几的全称
    %b 月分的简写
    %B 月份的全称
    %c 标准的日期的时间串
    %C 年份的后两位数字
    %d 十进制表示的每月的第几天
    %D 月/天/年
    %e 在两字符域中,十进制表示的每月的第几天
    %F 年-月-日
    %g 年份的后两位数字,使用基于周的年
    %G 年分,使用基于周的年
    %h 简写的月份名
    %H 24小时制的小时
    %I 12小时制的小时
    %j 十进制表示的每年的第几天
    %m 十进制表示的月份
    %M 十时制表示的分钟数
    %n 新行符
    %p 本地的AM或PM的等价显示
    %r 12小时的时间
    %R 显示小时和分钟:hh:mm
    %S 十进制的秒数
    %t 水平制表符
    %T 显示时分秒:hh:mm:ss
    %u 每周的第几天,星期一为第一天 (值从0到6,星期一为0)
    %U 第年的第几周,把星期日做为第一天(值从0到53)
    %V 每年的第几周,使用基于周的年
    %w 十进制表示的星期几(值从0到6,星期天为0)
    %W 每年的第几周,把星期一做为第一天(值从0到53)
    %x 标准的日期串
    %X 标准的时间串
    %y 不带世纪的十进制年份(值从0到99)
    %Y 带世纪部分的十制年份
    %z,%Z 时区名称,如果不能得到时区名称则返回空字符。
    %% 百分号

  • 相关阅读:
    编译环境及编译器介绍
    linux下同步window的firefox
    DPDK pdump抓包说明
    linux TCP协议(1)---连接管理与状态机
    Linux用户态数据发送和接收
    DPDK之内存管理
    linux socket系统调用层
    linux网络栈结构
    DPDK mbuf何时释放回内存池?
    虚拟设备之linux网桥
  • 原文地址:https://www.cnblogs.com/shenzhuang/p/10365981.html
Copyright © 2011-2022 走看看