zoukankan      html  css  js  c++  java
  • python 关于时间戳和datetime的常见使用语法

    打印当前时间戳

    import time
    import datetime
     
    t = time.time()
     
    print (t)                       #原始时间数据
    print (int(t))                  #秒级时间戳
    print (int(round(t * 1000)))    #毫秒级时间戳
    print (int(round(t * 1000000))) #微秒级时间戳

    将当前时间转换成字符串

    import datetime
    now_str = datetime.strftime(datetime.now(), "%Y%m%d%H%M%S%f")   #%f表示精确到微秒

    python 时间戳转为字符串

    方法一

    import datetime
    import time
    
    stamp = int(time.time())
    print datetime.datetime.fromtimestamp(stamp)
    2017-07-29 16:08:32

    方法二

    >>> time.strftime("%Y-%m-%d %H:%M", time.localtime(stamp))
    '2017-07-29 16:08'
    >>>

    参考:python 时间戳转为字符串

    timedalte()

    timedalte 是datetime中的一个对象,该对象表示两个时间的差值
    构造函数:datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
    其中参数都是可选,默认值为0,如果只有一个参数,则表示天数

    获取当前时间整点值

    now_datetime = datetime.datetime.now()  # 当前时间,格式为datetime类型
    # 把当前时间去除分、秒和毫秒后即是小时级别的整点值了
    now_datetime_hour = now_datetime + datetime.timedelta(minutes=-now_datetime.minute, seconds=-now_datetime.second, microseconds=-now_datetime.microsecond)

    打印结果:

    now_datetime ======>  2021-12-19 16:15:47.156853
    now_datetime_hour ======>  2021-12-19 16:00:00

    将时间字符串转换为时间戳

    time.strptime(t, format)函数可以将 时间字符串t按照 format格式解析后转成换一个下面这样的时间结构体struct_time,
    time.struct_time(tm_year=2021, tm_mon=11, tm_mday=20, tm_hour=14, tm_min=54, tm_sec=36, tm_wday=5, tm_yday=324, tm_isdst=-1)

    time.mktime(t) 接受一个上面的时间结构体参数,返回一个带有一位小数的毫秒级时间戳

    example1:

    t = time.strptime('2021-11-20 14:54:36', "%Y-%m-%d %H:%M:%S")
    print(t) #time.struct_time(tm_year=2021, tm_mon=11, tm_mday=20, tm_hour=14, tm_min=54, tm_sec=36, tm_wday=5, tm_yday=324, tm_isdst=-1)
    # 将时间结构体转换为时间戳
    t = time.mktime(t)
    print(t) #1637391276.0

    example2:

    import time
    t = "Mon Mar 16 00:09:00 +0000 2015"
    t = time.strptime(t, "%a %b %d %H:%M:%S %z %Y")
    # 将时间结构体转换为时间戳
    t = time.mktime(t)
    # 1426435740.0
    print(t) 

    strftime()中各个字母的含义

        年    %Y  Year with century as a decimal number.
        月    %m  Month as a decimal number [01,12].
        日    %d  Day of the month as a decimal number [01,31].
        小时    %H  Hour (24-hour clock) as a decimal number [00,23].
        分钟    %M  Minute as a decimal number [00,59].
        秒    %S  Second as a decimal number [00,61].
        时区    %z  Time zone offset from UTC.
        %a  Locale's abbreviated weekday name.
        %A  Locale's full weekday name.
        %b  Locale's abbreviated month name.
        %B  Locale's full month name.
        %c  Locale's appropriate date and time representation.
        小时(12小时制)%I  Hour (12-hour clock) as a decimal number [01,12].
        %p  Locale's equivalent of either AM or PM.

    参考:python 字符串时间转成时间戳

  • 相关阅读:
    java中创建线程的方式
    idea查看一个接口的子接口或实现类的快捷键
    idea查看源码没有注释的问题
    spring中的Aop
    spring中的ApplicationListener监听器
    spring中的事务管理
    IDEA创建springboot 项目
    xiaopiu产品设计
    java 6大设计原则 一:观察者模式
    java面向对象
  • 原文地址:https://www.cnblogs.com/hi3254014978/p/15707771.html
Copyright © 2011-2022 走看看