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,能夠轉換爲其餘的任意格式了
七、用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
八、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)python
#!/usr/bin/python # -*- coding: UTF-8 -*- import time; # 引入time模塊 ticks = time.time() print "當前時間戳爲:", ticks localtime = time.localtime(time.time()) print "本地時間爲 :", localtime localtime = time.asctime( time.localtime(time.time()) ) print "本地時間爲 :", localtime # 格式化成2016-03-20 11:45:39形式 print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 格式化成Sat Mar 28 22:24:24 2016形式 print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime()) # 將格式字符串轉換爲時間戳 a = "Wed Feb 07 11:40:32 2018" print time.mktime(time.strptime(a, "%a %b %d %H:%M:%S %Y")) print('') 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) import calendar cal = calendar.month(2016, 1) print "如下輸出2016年1月份的日曆:" print cal;
輸出以下:數組
當前時間戳爲: 1517974979.48 本地時間爲 : time.struct_time(tm_year=2018, tm_mon=2, tm_mday=7, tm_hour=11, tm_min=42, tm_sec=59, tm_wday=2, tm_yday=38, tm_isdst=0) 本地時間爲 : Wed Feb 07 11:42:59 2018 2018-02-07 11:42:59 Wed Feb 07 11:42:59 2018 1517974832.0 當前的日期和時間是 2018-02-07 11:42:59.478000 ISO格式的日期和時間是 2018-02-07T11:42:59.478000 當前的年份是 2018 當前的月份是 2 當前的日期是 7 dd/mm/yyyy 格式是 7/2/2018 當前小時是 11 當前分鐘是 42 當前秒是 59 如下輸出2016年1月份的日曆: January 2016 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
python格式化日期時間的函數爲datetime.datetime.strftime();由字符串轉爲日期型的函數爲:datetime.datetime.strptime(),兩個函數都涉及日期時間的格式化字符串,這裏提供詳細的代碼詳細演示了每個參數的使用方法及範例。服務器
下面是格式化日期和時間時可用的替換符號 %a 輸出當前是星期幾的英文簡寫函數
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%a') 'Sun'
%A 輸出完整的星期幾名稱英文spa
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%A') 'Sunday'
%b 輸出月份的英文簡寫.net
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%b') 'Sep'
%B 輸出月份的英文完整名稱code
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%B') 'September'
%c 以本地時間顯示日期和時間orm
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%c') '09/15/13 21:43:29'
%d 顯示1-31之間的數,每個月的第幾天,也就是年月日中的日blog
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%d') '15'
%H 以24小時制顯示小時,好比,02,14three
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%H') '21'
%I 以12小時制的方式顯示當前小時,例如當前jb51.net服務器的時間爲晚上21點,使用%I顯示09
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%I') '09'
%j 顯示當前日期爲一年中的第幾天,如當前jb51.net服務器時間爲2013年9月15日,則顯示爲258,也就是一年中的第258天
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%j') '258'
%m 顯示1-12之間的月份
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%m') '09'
%M 顯示00-59之間的分鐘數
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%M') '43'
%p 以 A.M./P.M.方式顯示是上午仍是下午
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%p') 'PM'
%S 顯示0-59之間的秒數
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%S') '29'
%U 顯示一年中的第幾周,星期天爲一週的第一天,例如當前www.jb51.net服務器時間爲2013年9月15日,星期天,顯示爲第37周
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%U') '37'
%w 顯示一週中的第幾天,其中星期天爲0,星期一爲1,例如:jb51.net當前日期爲2013年9月17日星期二,則顯示結果爲2
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%w') '2'
%W 顯示一年中的第幾周,和U%把不一樣的是星期一爲一週的第一天,例如當前www.jb51.net服務器時間爲2013年9月17日,星期二,顯示爲第37周,範圍在0-51之間
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%W') '37'
%x 顯示當地的日期,例如jb51.net本地時間爲:北京時間2013年9月17日
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%x') '09/17/13'
%X 顯示當地的時間,例如jb51.net本地時間爲:北京時間2013年9月17日 07:55:04
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%X') '07:55:04'
%y 顯示(00 - 99) 之間的年份,例如:jb51.net服務器時間爲:2013年9月17日,則顯示結果爲13
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%y') '13'
%Y 顯示完全年份,例如:jb51.net服務器時間爲:2013年9月17日,則顯示結果爲2013
>>> import datetime >>> now=datetime.datetime.now() >>> now.strftime('%Y') '2013'
%z, %Z 輸出時區,若是不能顯示,則顯示爲空字符 %% 用於顯示%符號
>>> now.strftime('%%') '%'
在舉一個完整的例子:
顯示當前日期時間:格式爲:年-月-日 時:分:秒
>>> datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'); '2013-09-17 08:06:17'
datetime是Python處理日期和時間的標準庫
1 import datetime 2 3 day = datetime.datetime.now() 4 day2 = datetime.date.today() 5 print("當前年月日時分秒:", day) 6 print("只查看年月日:", day2) 7 8 執行結果: 9 當前年月日時分秒: 2018-09-19 21:18:57.132640 10 只查看年月日: 2018-09-19
import datetime def CutHour(time=datetime.datetime.now()): """截取時分秒""" new_time = str(time) hour = new_time[11:19] return "".join(hour) print(CutHour()) 執行結果: 21:33:25
1 import datetime 2 3 t = 1537000000.0 4 print(datetime.datetime.fromtimestamp(t)) 5 6 執行結果: 7 2018-09-15 16:26:40
不少時候,用戶輸入的日期和時間是字符串,要處理日期和時間,首先必須把str轉換爲datetime。轉換方法是經過datetime.strptime()實現,須要一個日期和時間的格式化字符串:
import datetime cday = datetime.datetime.strptime('2018-9-19 18:19:59', '%Y-%m-%d %H:%M:%S') print(cday) 執行結果: 2018-09-19 18:19:59
1 import datetime 2 3 now = datetime.datetime.now() 4 print(now.strftime('%a, %b %d %H:%M')) 5 6 執行結果: 7 Wed, Sep 19 21:29