欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 时间戳计算

程序员文章站 2022-05-29 09:33:39
...
根据当前时间戳获得整小时时间戳
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)等。
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关标签: 2020