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)等。 以上所述就是本文的全部内容了,希望大家能够喜欢。