不管何時何地,只要我們程式設計時遇到了跟時間有關的問題,都要想到 datetime 和 time 標準庫模組,今天我們就用它內部的方法,詳解python操作日期和時間的方法。
1.將字串的時間轉換為時間戳
複製**
**如下:
方法:
a = "2013-10-10 23:40:00"
#將其轉換為時間陣列
import time
timearray = time.strptime(a, "%y-%m-%d %h:%m:%s")
#轉換為時間戳:
timestamp = int(time.mktime(timearray))
timestamp == 1381419600
2.格式更改
如a = "2013-10-10 23:40:00",想改為 a = "2013/10/10 23:40:00"
方法:先轉換為時間陣列,然後轉換為其他格式
複製**
**如下:
timearray = time.strptime(a, "%y-%m-%d %h:%m:%s")
otherstyletime = time.strftime("%y/%m/%d %h:%m:%s", timearray)
3.時間戳轉換為指定格式日期
方法一:利用localtime()轉換為時間陣列,然後格式化為需要的格式,如:
複製**
**如下:
timestamp = 1381419600
timearray = time.localtime(timestamp)
otherstyletime = time.strftime("%y-%m-%d %h:%m:%s", timearray)
otherstyletime == "2013-10-10 23:40:00"
方法二:
複製**
**如下:
import datetime
timestamp = 1381419600
datearray = datetime.datetime.utcfromtimestamp(timestamp)
otherstyletime = datearray.strftime("%y-%m-%d %h:%m:%s")
otherstyletime == "2013-10-10 23:40:00"
4.獲取當前時間並轉換為指定日期格式
方法一:
複製**
**如下:
import time
#獲得當前時間時間戳
now = int(time.time()) ->這是時間戳
#轉換為其他日期格式,如:"%y-%m-%d %h:%m:%s"
timearray = time.localtime(timestamp)
otherstyletime = time.strftime("%y-%m-%d %h:%m:%s", timearray)
方法二:
複製**
**如下:
import datetime
#獲得當前時間
now = datetime.datetime.now() ->這是時間陣列格式
#轉換為指定的格式:
otherstyletime = now.strftime("%y-%m-%d %h:%m:%s")
5.獲得三天前的時間的方法
複製**
**如下:
import time
import datetime
#先獲得時間陣列格式的日期
threedayago = (datetime.datetime.now() - datetime.timedelta(days = 3))
#轉換為時間戳:
timestamp = int(time.mktime(threedayago.timetuple()))
#轉換為其他字串格式:
otherstyletime = threedayago.strftime("%y-%m-%d %h:%m:%s")
注:timedelta()的引數有:days,hours,seconds,microseconds
6.給定時間戳,計算該時間的幾天前時間
複製**
**如下:
timestamp = 1381419600
#先轉換為datetime
import datetime
import time
datearray = datetime.datetime.utcfromtimestamp(timestamp)
threedayago = datearray - datetime.timedelta(days = 3)
#參考5,可以轉換為其他的任意格式了
7、用python計算昨天和明天的日期
複製**
**如下:
>>> import datetime #匯入日期時間模組
>>> today = datetime.date.today() #獲得今天的日期
>>> print today #輸出今天日期
2014-01-04
>>> yesterday = today - datetime.timedelta(days=1) #用今天日期減掉時間差,引數為1天,獲得昨天的日期
>>> print yesterday
2014-01-03
>>> tomorrow = today + datetime.timedelta(days=1) #用今天日期加上時間差,引數為1天,獲得明天的日期
>>> print tomorrow
2014-01-05
>>>
>>> print "昨天:%s, 今天:%s, 明天:%s" % (yesterday, today, tomorrow) #字串拼接在一起輸出,這3天的日期
昨天:2014-01-03, 今天:2014-01-04, 明天:2014-01-05
8、python裡使用time模組來獲取當前的時間
複製**
**如下:
#!/usr/bin/python
import time
print (time.strftime("%h:%m:%s"))
## 12 hour format ##
print (time.strftime("%i:%m:%s"))
#:輸出
#18:11:30
#6:11:30
9、列印出當前的日期的python程式
複製**
**如下:
!/usr/bin/python
import time
## dd/mm/yyyy格式
print (time.strftime("%d/%m/%y"))
#輸出:
11/03/2014
10、使用datetime模組來獲取當前的日期和時間
複製**
**如下:
#!/usr/bin/python
import datetime
i = datetime.datetime.now()
print ("當前的日期和時間是 %s" % i)
print ("iso格式的日期和時間是 %s" % i.isoformat() )
print ("當前的年份是 %s" %i.year)
print ("當前的月份是 %s" %i.month)
print ("當前的日期是 %s" %i.day)
print ("dd/mm/yyyy 格式是 %s/%s/%s" % (i.day, i.month, i.year) )
print ("當前小時是 %s" %i.hour)
print ("當前分鐘是 %s" %i.minute)
print ("當前秒是 %s" %i.second)
附:日期和時間的格式化引數
複製**
**如下:
%a 星期幾的簡寫
%a 星期幾的全稱
%b 月分的簡寫
%b 月份的全稱
%c 標準的日期的時間串
%c 年份的後兩位數字
%d 十進位制表示的每月的第幾天
%d 月/天/年
%e 在兩字元域中,十進位制表示的每月的第幾天
%f 年-月-日
%g 年份的後兩位數字,使用基於周的年
%g 年分,使用基於周的年
%h 簡寫的月份名
%h 24小時制的小時
%i 12小時制的小時
%j 十進位制表示的每年的第幾天
%m 十進位制表示的月份
%m 十時制表示的分鐘數
%n 新行符
%p 本地的am或pm的等價顯示
%r 12小時的時間
%r 顯示小時和分鐘:hh:mm
%s 十進位制的秒數
%t 水平製表符
%t 顯示時分秒:hh:mm:ss
%u 每週的第幾天,星期一為第一天 (值從0到6,星期一為0)
%u 第年的第幾周,把星期日做為第一天(值從0到53)
%v 每年的第幾周,使用基於周的年
%w 十進位制表示的星期幾(值從0到6,星期天為0)
%w 每年的第幾周,把星期一做為第一天(值從0到53)
%x 標準的日期串
%x 標準的時間串
%y 不帶世紀的十進位制年份(值從0到99)
%y 帶世紀部分的十制年份
%z,%z 時區名稱,如果不能得到時區名稱則返回空字元。
%% 百分號
python 常用內建模組之datetime
from datetime import datetime now datetime.now print now out 2019 02 06 15 08 10.618082datetime模組裡還包含了乙個datetime類,通過from datetime import datetime匯入的才是...
Python丨常用內建模組 datetime
描述 datetime是python處理日期和時間的標準庫 datetime模組中的類 類名功能說明 date 日期物件,常用的屬性有year,month,day time 時間物件 datetime 日期時間物件,常用的屬性有hour,minute,second,microsecond datet...
python time模組和datetime模組
一,time模組 1,輸出時間戳 import time timestamp time.time 2,休眠 import time time.sleep 2 3,輸出時間元祖 time.localtime import time print time.localtime 4,將時間元祖轉換為時間戳 ...