python datetime库使用代码详解编程语言

python中对日期的操作主要是依靠datetime模块完成,datetime模块功能相当强大,几乎可以对与日前时间相关的所有操作,下面的隔断代码分别展示了datetime的强大能量。 datetime模块的date类常用的日期信息输入

 
from datetime import *   
import time   
   
print 'date.max:', date.max    #date.max表示可以输出的最大日期,这里为9999年12月31日 
print 'date.min:', date.min     #date.min 表示可以输出的最小日期,这里为0001年1月1日 
#datetime提供了这么宽广范围的日期,我们这代人肯定是够用了 
print 'date.today():', date.today()   #返回今天的日期 
print 'date.fromtimestamp():', date.fromtimestamp(time.time())   #从unix时间戳转换成易于阅读的正常日期格式 
   

—- 输出结果 如下—-

 date.max: 9999-12-31   
 date.min: 0001-01-01   
 date.today(): 2013-08-29   
 date.fromtimestamp(): 2013-08-29 
 

datetime模块的date类常用方法和属性代码演示

now = date(2013,8, 30)   
yesterday = now.replace(day = 29)    #通过datetime的replace方法生成一个新的日期,格式为:replace(year,month,day),这句代码只替换了日,所以生成的新日期就是:datetime.date(2013, 8, 29) 
print 'now:', now, ', yesterday:',yesterday  #打印今天和昨天的日期 
print 'timetuple():', now.timetuple()   #返回日期对应的time.struct_time对象 
print 'weekday():', now.weekday()  #返回星期几,星期一为0 
print 'isoweekday():', now.isoweekday()  #同样是返回星期几,星期一为1 
print 'isocalendar():', now.isocalendar()  #返回包括(年,第几周,星期几)的元祖,比如(2013,35,5)表示2013年第35周星期5 
print 'isoformat():', now.isoformat()   #返回格式如'YYYY-MM-DD’的字符串 
   

输出结果如下:

  
now: 2013-08-30 , yesterday: 2013-08-29 
timetuple(): time.struct_time(tm_year=2013, tm_mon=8, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=242, tm_isdst=-1) 
weekday(): 4 
isoweekday(): 5 
isocalendar(): (2013, 35, 5) 
isoformat(): 2013-08-30 
 
 

datetime模块的time类常用方法

# -*- coding: utf-8 -*- 
from datetime import * 
tm = time(10, 13, 45)  #生成一个time对象 
print 'tm:', tm 
print 'hour: %d, minute: %d, second: %d, microsecond: %d' % (tm.hour, tm.minute, tm.second, tm.microsecond) #分别输出时分秒和毫秒 
tm1 = tm.replace(hour = 11) #替换time的小时部分,完成的方法是replace(hour,minute,second) 
print 'tm1:', tm1 
tm2 = tm.replace(minute = 30) #替换time的分钟部分,完成的方法是replace(hour,minute,second) 
print 'tm2:', tm2 
tm3 = tm.replace(second = 12) #替换time的秒部分,完成的方法是replace(hour,minute,second) 
print 'tm3:', tm3 
print 'isoformat():', tm.isoformat() 
   

输出结果如下

tm: 10:13:45 
hour: 10, minute: 13, second: 45, microsecond: 0 
tm1: 11:13:45 
tm2: 10:30:45 
tm3: 10:13:12 
isoformat(): 10:13:45 
 

datetime模块的datetime类常用方法代码详解

# -*- coding: utf-8 -*- 
from datetime import * 
import time 
 
print 'datetime.max:', datetime.max    #输出datetime的最大值 
print 'datetime.min:', datetime.min    #输出datetime的最小值 
print 'datetime.resolution:', datetime.resolution   #datetime的精度 
print 'today():', datetime.today()    #输出今天日期和时间 
print 'now():', datetime.now()     #输出当前日期和时间 
print 'utcnow():', datetime.utcnow()    #输出utc标准日期和时间,# 中国位于+8时间,与UTC时间相差8小时 
print 'fromtimestamp(tmstmp):', datetime.fromtimestamp(time.time())    #从unix时间戳转换成正常易于阅读的本地日期时间格式 
print 'utcfromtimestamp(tmstmp):', datetime.utcfromtimestamp(time.time())   #从unix时间戳转换成utc日期时间格式 
 

输出结果如下:

datetime.max: 9999-12-31 23:59:59.999999 
datetime.min: 0001-01-01 00:00:00 
datetime.resolution: 0:00:00.000001 
today(): 2013-08-30 10:19:47.260000 
now(): 2013-08-30 10:19:47.260000 
utcnow(): 2013-08-30 02:19:47.260000 
fromtimestamp(tmstmp): 2013-08-30 10:19:47.260000 
utcfromtimestamp(tmstmp): 2013-08-30 02:19:47.260000 
 

datetime格式化输出代码演示

dt = datetime.now()   
print '(%Y-%m-%d %H:%M:%S %f): ', dt.strftime('%Y-%m-%d %H:%M:%S %f')   
print '(%Y-%m-%d %H:%M:%S %p): ', dt.strftime('%y-%m-%d %I:%M:%S %p')   
print '%%a: %s ' % dt.strftime('%a')   
print '%%A: %s ' % dt.strftime('%A')   
print '%%b: %s ' % dt.strftime('%b')   
print '%%B: %s ' % dt.strftime('%B')   
print '日期时间%%c: %s ' % dt.strftime('%c')   
print '日期%%x:%s ' % dt.strftime('%x')   
print '时间%%X:%s ' % dt.strftime('%X')   
print '今天是这周的第%s天 ' % dt.strftime('%w')   
print '今天是今年的第%s天 ' % dt.strftime('%j')   
print '今周是今年的第%s周 ' % dt.strftime('%U')   
 

输出结果如下:

(%Y-%m-%d %H:%M:%S %f):  2013-08-30 10:22:30 635000 
(%Y-%m-%d %H:%M:%S %p):  13-08-30 10:22:30 AM 
%a: Fri  
%A: Friday  
%b: Aug  
%B: August  
日期时间%c: 08/30/13 10:22:30  
日期%x:08/30/13  
时间%X:10:22:30  
今天是这周的第5天  
今天是今年的第242天  
今周是今年的第34周  
 

在date和time类中出现的很多方法,在datetime中也都有,调用方式也差不多

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/8177.html

(0)
上一篇 2021年7月18日 19:29
下一篇 2021年7月18日 19:29

相关推荐

发表回复

登录后才能评论