python學習數據類型之datetime

導入模塊:import datetime

class:

datetime.datetime

datetime.date

datetime.time

datetime.timedelta

datetime.tzinfo

 

>>> a = datetime.datetime.today()
>>> print a
2011-10-14 11:31:27.173391
>>> a = datetime.date.today()
>>> print a
2011-10-14

 

日期與字符轉化:
>>> a = datetime.date.today()
>>> print a
2011-10-14
>>> b = str(a)
>>> print b
2011-10-14

>>> type (a)
<type 'datetime.date'>
>>> type (b)
<type 'str'>

datetime,date,time都可以通過str(...)轉化成字符類型。但是不能確定格式?

轉化成固定格式的字符,strftime(format):

>>> m = datetime.date.today()
>>> print m
2011-10-14
>>> n = m.strftime('%Y-%m-%d')
>>> print n
2011-10-14
>>> type (m)
<type 'datetime.date'>
>>> type (n)
<type 'str'>

 

date,datetime,time都有strftime方法。

 

字符轉化成日期,strptime(str,format):

>>> a = '2011-10-14'
>>> b = datetime.datetime.strptime(a,'%Y-%m-%d')

>>> print a
2011-10-14
>>> print b
2011-10-14 00:00:00

>>> type (a)
<type 'str'>
>>> type (b)
<type 'datetime.datetime'>

只有datetime有strptime方法,所以如果要想轉換成date,time類型,可以通過datetime.date(),datetime.time()轉化。

>>> c = b.date()
>>> print c
2011-10-14
>>> type (c)
<type 'datetime.date'>

 

日期比較,python日期可以直接用'>','<','>='等直接比較,但數據類型必須要一致:

>>> a = "2011-10-14"
>>> b = "2011-10-14"
>>> a = datetime.datetime.strptime('2011-10-14','%Y-%m-%d').date()
>>> b = datetime.datetime.strptime('2011-10-15','%Y-%m-%d').date()
>>> print a,b
2011-10-14 2011-10-15
>>> type (a)
<type 'datetime.date'>
>>> type (b)
<type 'datetime.date'> 
>>> if (a < b):
 print "NO"

 
NO
>>>

 

日期差,datetime.timedelta:

>>> a = datetime.date(year=2011,month=10,day=15)

>>> c = a - datetime.timedelta(days=3)

>>> print c
2011-10-12

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