python 字串和datetime轉換

2021-06-23 03:15:49 字數 2769 閱讀 5537

為了從字串中提取時間,並進行比較,因此有了這個問題,如何將字串轉換成datetime型別

1.字串與time型別的轉換

>>> import time

>>> timestr = "time2009-12-14"

>>> t = time.strptime(timestr, "time%y-%m-%d")

>>> print t

(2009, 12, 14, 0, 0, 0, 0, 348, -1)

>>> type(t)

>>> 

如**所示使用strptime進行轉換,第乙個引數是要轉換的字串,第二個引數是字串中時間的格式 

與之對應的有函式strftime,是將time型別轉換相應的字串 

下面是格式化符號彙總

%a 星期幾的簡寫 weekday name, abbr.

%a 星期幾的全稱 weekday name, full

%b 月分的簡寫 month name, abbr.

%b 月份的全稱 month name, full

%c 標準的日期的時間串 complete date and time representation

%d 十進位制表示的每月的第幾天 day of the month

%h 24小時制的小時 hour (24-hour clock)

%i 12小時制的小時 hour (12-hour clock)

%j 十進位制表示的每年的第幾天 day of the year

%m 十進位制表示的月份 month number

%m 十時制表示的分鐘數 minute number

%s 十進位制的秒數 second number

%u 第年的第幾周,把星期日做為第一天(值從0到53)week number (sunday first weekday)

%w 十進位制表示的星期幾(值從0到6,星期天為0)weekday number

%w 每年的第幾周,把星期一做為第一天(值從0到53) week number (monday first weekday)

%x 標準的日期串 complete date representation (e.g. 13/01/08)

%x 標準的時間串 complete time representation (e.g. 17:02:10)

%y 不帶世紀的十進位制年份(值從0到99)year number within century

%y 帶世紀部分的十制年份 year number

%z,%z 時區名稱,如果不能得到時區名稱則返回空字元。name of time zone

%% 百分號  

2.time型別與datetime型別的轉換 

這一步比較簡單,使用datetime函式,**如下

>>> import datetime

>>> d = datetime.datetime(* t[:6])

>>> print d

2009-12-14 00:00:00

>>> type(d)

>>> 

備忘,*表示將列表中的資料作為函式的引數,**表示將字典的資料作為函式的引數傳入

例項:

import time

import datetime

timestr = '2008-12-24 12:58:45'

t = time.strptime(timestr,"%y-%m-%d %h:%m:%s")

>>> t

time.struct_time(tm_year=2008, tm_mon=12, tm_mday=24, tm_hour=12, tm_min=58, tm_sec=45, tm_wday=2, tm_yday=359, tm_isdst=-1)

d = datetime.datetime(* t[:6])

>>> d

datetime.datetime(2008, 12, 24, 12, 58, 45)

timestr = '2008-02-24 12:08:45'

>>> t = time.strptime(timestr,"%y-%m-%d %h:%m:%s")

>>> t

time.struct_time(tm_year=2008, tm_mon=2, tm_mday=24, tm_hour=12, tm_min=8, tm_sec=45, tm_wday=6, tm_yday=55, tm_isdst=-1)

d = datetime.datetime(* t[:6])

>>> d

datetime.datetime(2008, 2, 24, 12, 8, 45)

datetime轉化為所需的字串:

import datetime

dt = datetime.datetime.now()

localtime = dt.strftime('%y-%m-%d %h:%m:%s') #轉化為date time

localtime

'2014-08-13 14:36:55'

type(localtime)

localtime2 = dt.strftime('%h:%m:%s')#轉化為 date

localtime2

'14:36:55'

localtime3 = dt.strftime('%y-%m-%d')#轉化為 time

localtime3

'2014-08-13'

python字串和字元

python沒有字元資料型別,只有字串。字串必須在 單引號 雙引號 裡面 hello world hello world 為了和其他語言保持一致通常把 用於括住單個字元,用於括住字串 三引號 三引號中可以包含換行符 2.ascii碼和統一碼 ascll碼屬於統一碼 ascii碼 二進位制0000 0...

python字串 Python 字串

建立字串很簡單,只要為變數分配乙個值即可。例如 var1 hello world var2 python runoob python訪問字串中的值python不支援單字元型別,單字元在 python 中也是作為乙個字串使用。python訪問子字串,可以使用方括號來擷取字串,如下例項 例項 pytho...

python字串 python字串

單引號示例常用的轉義字元 轉義字元案例1format 格式化練習1 help sisdigit,isnumeric,isdecimal 三個判斷數字的函式 isalnum 檢查字串是否由字母加數字組成 s test1split 字串拆分 splitlines 已換行符拆分 join 合成字串 upp...