Python 字符串與日期的轉換

在程序開發中,經常把日期類型轉換爲字符類型使用。字符串與日期的轉換時工作中頻繁遇到的問題。Python提供了time模塊處理日期和時間。

1. 從時間到字符串的轉換

time模塊中的函數strftime()可以實現從時間字符串的轉換。strftime()的聲明如下所示:
strftime(format[, tuple]) -> string

  1. 參數format表示格式化日期的特殊字符。例如,"%Y-%m%d"。
  2. 參數tuple表示要轉換的時間,用元祖存儲。元組中的元素分別表示年、月、日、時、分、秒。
  3. 函數返回一個一個表示時間的字符串。

參數format格式化日期的常用標記如下表所示:
格式化日期的常用標記

符號 說明
%a 英文星期的簡寫
%A 英文星期的完整拼寫
%b 英文月份的簡寫
%B 英文月份的完整拼寫
%c 顯示本地的日期和時間
%d 日期數,取值在1~31之間
%H 小時數,取值在00~23之間
%I 小時數,取值01~12之間
%m 月份,取值01~12之間
%M 分鐘數,取值在01~59之間
%j 顯示從本年第1天開始到當天的天數
%w 顯示今天是星期幾,0表示星期天
%W 顯示當天屬於本年的第幾周,星期一作爲一週的第一天進行計算
%x 本地的當天日期
%X 本地的當天時間
%y 年份,取值在0~99之間
%Y 年份完整拼寫

2. 字符串到時間的轉換

字符串到水煎的轉換需要進行兩次轉換,需要使用time模塊和datetime類,轉換過程分爲如下3個步驟。

  1. 調用函數strptime()把字符串換磚爲一個元祖,進行第一次轉換。strptime()的聲明如下所示:
	strptime(string, format)   ->struct_time
(1) 參數string表示需要轉換的字符串。
(2) 參數format表示日期要轉換的輸出格式。
(3) 函數返回一個存放時間的元祖。
  1. 把表示時間的元祖賦值給表示年、月、日的3個變量。
  2. 把表示年、月、日的3個變量傳遞給datetime(),進行第二次轉換。datetime類的datetime()函數如下所示:
datetime(year, month, day[,hour[,minute[,second[,microsecond[,tzinfo]]]]])
(1) 參數year、month、day分別表示年、月、日,這3個參數必不可少。
(2)函數返回一個datetime類型的變量。
import time, datetime

#時間到字符串的轉換
print(time.strftime("%Y-%m-%d %X", time.locatime())
#字符串到時間的轉換
t = time.strptime("2008-08-08", "%Y-%m-%d")
y,m,d = [0:3]
print(datetime.datetime(y,m,d)
第4行代碼,函數localtime()返回當前時間(例如,2008-02-14 13:52:11),strftime把當前的時間格式化爲字符串類型。輸出結果:2008-02-14 13:52:11。
第6行代碼,把字符串 "2008-08-08" 轉換爲一個元組返回。
第7行代碼,把元組中前3個表示年、月、日的元素賦值給3個變量。
第8行代碼,調用datetime()返回時間類型。輸出結果:2008-08-08 00:00:00。

注意:格式化日期的特殊標記是區分大小寫的,%Y與%y並不相同的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章