python中time模块详解_Python time模块 和datetime模块 详解

您现在的位置是:网站首页>>Python>>python

Python time模块 和datetime模块 详解

发布时间:2018-11-01 17:11:42作者:wangjian浏览量:626点赞量:2

一:time模块

time模块中时间表现的格式主要有三种:

a、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量

b、struct_time时间元组,共有九个元素组。

c、format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。

时间转化图:

1541067011972951.png

实例:import time

获取当前时间戳

time.time()

获取当前时间元组

time.localtime()

时间元组转时间戳

time.mktime(time.localtime()) #参数为时间元组

时间戳转时间元组

time.localtime(time.time()) #参数为时间戳

获取当前格式化时间

time.strftime("%Y-%m-%d %H:%M:%S")

时间元组转格式化时间

time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) #第二个参数为时间元组

格式化时间转元组

time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %H:%M:%S')

struct_time元组元素结构

属性 值

tm_year(年) 比如2011

tm_mon(月) 1 - 12

tm_mday(日) 1 - 31

tm_hour(时) 0 - 23

tm_min(分) 0 - 59

tm_sec(秒) 0 - 61

tm_wday(weekday) 0 - 6(0表示周日)

tm_yday(一年中的第几天) 1 - 366

tm_isdst(是否是夏令时) 默认为-1

format time结构化表示

格式含义

%a本地(locale)简化星期名称

%A本地完整星期名称

%b本地简化月份名称

%B本地完整月份名称

%c本地相应的日期和时间表示

%d一个月中的第几天(01 - 31)

%H一天中的第几个小时(24小时制,00 - 23)

%I第几个小时(12小时制,01 - 12)

%j一年中的第几天(001 - 366)

%m月份(01 - 12)

%M分钟数(00 - 59)

%p本地am或者pm的相应符

%S秒(01 - 61)

%U一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。

%w一个星期中的第几天(0 - 6,0是星期天)

%W和%U基本相同,不同的是%W以星期一为一个星期的开始。

%x本地相应日期

%X本地相应时间

%y去掉世纪的年份(00 - 99)

%Y完整的年份

%Z时区的名字(如果不存在为空字符)

%%‘%’字符

二:datetime模块

datatime模块重新封装了time模块,提供更多接口,提供的类有:date,time,datetime,timedelta,tzinfo

1:time类import datetime

静态方法和字段

datetime.date.max #对象所能表示的最大日期

datetime.date.min #对象所能表示的最小日期

datetime.date.today() #返回一个表示当前本地日期的date对象

datetime.date.fromtimestamp(timestamp) #根据给定的时间戮,返回一个date对象

方法和属性

d1 = datetime.date(year, month, day) #datetime.date(2018,11,1)

d1.year #返回date对象的年

d1.month #返回date对象的月

d1.day #返回date对象的日

d1.replace(year, month, day) #生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)

d1.timetuple() #返回日期对应的时间元组,及time.struct_time对象

d1.weekday() #返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;

d1.isoweekday() #返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;

d1.isocalendar()#返回格式如(year,month,day)的元组

d1.isoformat()返回格式如'YYYY-MM-DD’的字符串 2018-11-1

d1.strftime(fmt)#和time模块format相同(d1.strftime('%Y-%m-%d %H:%M:%S') 返回 2018-11-01 00:00:00)

2:date类import datetime

静态方法和字段

datetime.time.max #time类所能表示的最大时间(datetime.time.max = datetime.time(0,0,0,0))

datetime.time.min #time类所能表示的最小时间(datetime.time.min = datetime.time(23, 59, 59, 999999))

datetime.time.resolution #时间的最小单位,这里是1微秒

方法和属性

t1 = datetime.time(hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ) #datetime.date(17,43,11)

t1.hour #返回time对象的时

t1.minute #返回time对象的分

t1.second #返回time对象的秒

t1.microsecond#返回time对象的微秒

t1.tzinfo#返回时区信息

t1.replace([ hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ) #创建一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性(原有对象仍保持不变)

t1.isoformat()#返回型如"HH:MM:SS"格式的字符串表示

t1.strftime(fmt)#同time模块中的format(t1.strftime('%Y-%m-%d %H:%M:%S') 返回 1900-01-01 17:43:11)

3:datetime类import datetime

静态方法和字段

datetime.datetime.today()#返回一个表示当前本地时间的datetime对象

datetime.datetime.now([tz])#返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间

datetime.datetime.utcnow()#返回一个当前utc时间的datetime对象;#格林威治时间

datetime.datetime.fromtimestamp(timestamp[, tz])#根据时间戮创建一个datetime对象,参数tz指定时区信息

datetime.datetime.utcfromtimestamp(timestamp)#根据时间戮创建一个datetime对象

datetime.datetime.combine(date, time)#根据date和time,创建一个datetime对象

datetime.datetime.strptime(date_string, format)#将格式字符串转换为datetime对象

方法和属性

dt = datetime.datetime.now() #当前时间的datetime对象

dt.year#返回当前时间年

dt.month#返回当前时间月

dt.day#返回当前时间日

dt.hour#返回当前时间时

dt.minute#返回当前时间分

dt.second#返回当前时间秒

dt.microsecond#返回当前时间微妙

dt.tzinfo#返回当前时间时区

dt.date()#获取date对象

dt.time()#获取time对象

dt.replace([ year[ , month[ , day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ] ] ]) #创建一个新的时间对象,用参数指定的年、月、日、时、分、秒、微秒代替原有对象中的属性(原有对象仍保持不变)

dt.timetuple() #获取当前时间元组(tm_isdst参数为-1)

dt.utctimetuple()#获取当前时间元组(tm_isdst参数为0)

dt.strftime(format)#获取当前时间的格式化时间 (dt.strftime('%Y-%m-%d %H:%M:%S') 返回 2018-11-01 18:08:43)

zan.png

2

+1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值