zoukankan      html  css  js  c++  java
  • python 时间戳算法

                      
    根据当前时间戳获得整小时时间戳
    unit = 3600
    start_time = int(time.time())/3600 * 3600
    根据当前时间戳获得整天时间戳
    unit = 3600*24
    start_time = int(time.time()) / unit * unit - 8 * 3600由于时间戳起始为1970 年 1 月 1 日(08:00:00)所以这里需要减8小时才时0点的时间戳
    ---------------------
    import time
    import datetime
    
    t = time.time()
    
    print (t)                       #原始时间数据
    print (int(t))                  #秒级时间戳
    print (int(round(t * 1000)))    #毫秒级时间戳
    
    nowTime = lambda:int(round(t * 1000))
    print (nowTime());              #毫秒级时间戳,基于lambda
    
    print (datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))   #日期格式化
    
    返回
    1499825149.26
    1499825149
    1499825149257
    1499825149257
    2017-07-12 10:05:49
     
    2、将日期转为秒级时间戳
    dt = '2018-01-01 10:40:30'
    ts = int(time.mktime(time.strptime(dt, "%Y-%m-%d %H:%M:%S")))
    print (ts)
    返回
    1514774430
     
    3、将秒级时间戳转为日期
    ts = 1515774430
    dt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ts))
    print(dt)
    返回
    2018-01-13 00:27:10
    1.获取当前时间的两种方法:
    
    复制代码
    代码如下:
    
    import datetime,time
    now = time.strftime("%Y-%m-%d %H:%M:%S")
    print now
    now = datetime.datetime.now()
    print now
    
    2.获取上个月最后一天的日期(本月的第一天减去1天)
    
    复制代码
    代码如下:
    
    last = datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)
    print last
    
    3.获取时间差(时间差单位为秒,常用于计算程序运行的时间)
    
    复制代码
    代码如下:
    
    starttime = datetime.datetime.now()
    #long running
    endtime = datetime.datetime.now()
    print (endtime - starttime).seconds
    
    4.计算当前时间向后10个小时的时间
     
    复制代码
    代码如下:
    
    d1 = datetime.datetime.now()
    d3 = d1 + datetime.timedelta(hours=10)
    d3.ctime()
    
    其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值,如 datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;timedelta可以查看:天数(days),秒数 (seconds)等。 
    
    5.python中时间日期格式化符号:
    
    %y 两位数的年份表示(00-99%Y 四位数的年份表示(000-9999%m 月份(01-12%d 月内中的一天(0-31%H 24小时制小时数(0-23%I 12小时制小时数(01-12%M 分钟数(00=59%S 秒(00-59%a 本地简化星期名称
    %A 本地完整星期名称
    %b 本地简化的月份名称
    %B 本地完整的月份名称
    %c 本地相应的日期表示和时间表示
    %j 年内的一天(001-366%p 本地A.M.或P.M.的等价符
    %U 一年中的星期数(00-53)星期天为星期的开始
    %w 星期(0-6),星期天为星期的开始
    %W 一年中的星期数(00-53)星期一为星期的开始
    %x 本地相应的日期表示
    %X 本地相应的时间表示
    %Z 当前时区的名称
    %% %号本身
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    In [27]: from datetime import datetime
     
    In [28]: a=datetime.now()
     
    In [29]: b=datetime.now()
     
    In [32]: a
    Out[32]: datetime.datetime(2015, 4, 7, 4, 30, 3, 628556)
     
    In [33]: b
    Out[33]: datetime.datetime(2015, 4, 7, 4, 34, 41, 907292)
     
    In [34]: str(a)                   字符串的转换,用户储存到文本或者数据库
    Out[34]: '2015-04-07 04:30:03.628556'
     
    In [35]:datetime.strptime(str(a),"%Y-%m-%d %H:%M:%S.%f")
    Out[35]:datetime.datetime(2015, 4, 7, 4, 30, 3, 628556)
     
    In [36]: (b-a)
    Out[36]: datetime.timedelta(0, 278, 278736)
     
    In [37]: (b-a).seconds              时间差的计算,单位为秒
    Out[37]: 278
    Q:如何方便的计算两个时间的差,如两个时间相差几天,几小时等
    A:使用datetime模块可以很方便的解决这个问题,举例如下:
    ?
    1
    2
    3
    4
    5
    >>> import datetime
    >>> d1 = datetime.datetime(2005, 2, 16)
    >>> d2 = datetime.datetime(2004, 12, 31)
    >>> (d1 - d2).days
    47
    上例演示了计算两个日期相差天数的计算。
    ?
    1
    2
    3
    4
    5
    import datetime
    starttime = datetime.datetime.now()
    #long running
    endtime = datetime.datetime.now()
    print (endtime - starttime).seconds
    上例演示了计算运行时间的例子,以秒进行显示。
    ?
    1
    2
    3
    >>> d1 = datetime.datetime.now()
    >>> d3 = d1 + datetime.timedelta(hours=10)
    >>> d3.ctime()
    上例演示了计算当前时间向后10小时的时间。
    其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值,如datetime可以查看:天数(day),小时数(hour),星期几(weekday())等;timedelta可以查看:天数(days),秒数(seconds)等。
    以上所述就是本文的全部内容了,希望大家能够喜欢。
    
    
    
     
  • 相关阅读:
    全栈程工程师
    月薪8000的程序员和月薪2万的程序员差别在哪里?
    原型中的访问
    关于 基本类型和复合类型 用== 判断的小问题
    使用原型解决构造函数问题
    前端工程师学习路线 --书籍
    程序员成长之路
    GIT学习(1) Pull和Fetch
    OO面向对象编程:第四单元总结及课程总结
    OO面向对象编程:第三单元总结
  • 原文地址:https://www.cnblogs.com/duanlinxiao/p/9845575.html
Copyright © 2011-2022 走看看