python操做日期和時間的方法

       常常得到了一個用戶提交的當前日期,咱們須要以這個日期爲依據返回它的前一天、後一天的日期或者轉換操做等。用Python能夠很是簡單的解決這些關於日期計算的問題python

       無論什麼時候何地,只要咱們編程時遇到了跟時間有關的問題,都要想到 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.格式更改spa

如a = "2013-10-10 23:40:00",想改成 a = "2013/10/10 23:40:00"
方法:先轉換爲時間數組,而後轉換爲其餘格式
code

timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)


3.時間戳轉換爲指定格式日期
方法一:利用localtime()轉換爲時間數組,而後格式化爲須要的格式,如:orm

timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
otherStyletime == "2013-10-10 23:40:00"

方法二:
three

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)

方法二:form

import datetime
#得到當前時間
now = datetime.datetime.now()  ->這是時間數組格式
#轉換爲指定的格式:
otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")

5.得到三天前的時間的方法class

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,能夠轉換爲其餘的任意格式了


七、用Python計算昨天和明天的日期

>>> import datetime #導入日期時間模塊
>>> today = datetime.date.today() #得到今天的日期
>>> print today #輸出今天日期
2015-09-05 
>>> yesterday = today - datetime.timedelta(days=1) #用今天日期減掉時間差,參數爲1天,得到昨天的日期
>>> print yesterday
2015-09-06 
>>> tomorrow = today + datetime.timedelta(days=1) #用今天日期加上時間差,參數爲1天,得到明天的日期
>>> print tomorrow
2015-09-07 
>>>
>>> print "昨天:%s, 今天:%s, 明天:%s" % (yesterday, today, tomorrow) #字符串拼接在一塊兒輸出,這3天的日期

昨天:2015-09-05, 今天:2015-09-06, 明天:2015-09-07
八、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

九、打印出當前的日期的python程序

!/usr/bin/python  
 import time
## dd/mm/yyyy格式
print (time.strftime("%d/%m/%Y")) 
 #輸出:
11/03/2014

十、使用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 時區名稱,若是不能獲得時區名稱則返回空字符。
%% 百分號
相關文章
相關標籤/搜索