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

 

 
         

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM