1. 程式人生 > >python 時間 相關

python 時間 相關

mon 利用 時間戳 %u 字符串 時間戳轉換 arr 代碼 day

http://www.jb51.net/article/47957.htm

不管何時何地,只要我們編程時遇到了跟時間有關的問題,都要想到 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 時間 相關