python导入datetime模块_Python基础模块:datetime模块

datetime介绍:

datetime是Python处理日期和时间的标准库。

它包含了五个类:datetime,date,time,timedelta, tzinfo

datetime数据对象:使用strptime把字符串日期转变为此对象,可以使用datetime里的一些方法和属性,比如date(),time(),year,month,day,strftime(),replace()等。

导入语句:from datetime import datetime,date,time,timedelta, timezone,把所有类全都都导入。

如果只导入包名:import datetime,使用的时候必须datetime.datetime,datetime.time,datetime.date

其它时间相关的包:pytz,tzlocal,calendar

datetime类

方法名作用示例结果

strptime(字符串,日期格式)把字符串日期转换成datetime对象的实例

转换后的格式可以使用datetime类方法datetime.strptime('2018-01-18 06:25:38.22222',"%Y-%m-%d %H:%M:%S.22222")2018-01-18 06:25:38

strftime(自定义格式)自已定显示格式,datetime实例可以使用dd=datetime.strptime('2018-5-6','%Y-%m-%d')

print(dd.year)2018

combine(date,time)根据date和time,创建一个datetime对象datetime.combine(date(2018,12,1),time(12,10,3))2018-12-01 12:10:03

fromtimestamp(时间戳[,时区])把时间戳转换成datetime对象

缺省时区显示计算机当前时区datetime.fromtimestamp(441188)1970-01-06 10:33:08

utcfromtimestamp(时间戳)时间戳参数必须

把时间戳转换成UTC标准时区的datetime对象datetime.utcfromtimestamp(441188)1970-01-06 02:33:08

timestamp(datetime对象)把datetime对象转换成时间戳dd=datetime.strptime('2018-5-6','%Y-%m-%d')

datetime.timestamp(dd)1525564800.0

timetuple(datetime对象)返回struc_time格式的元组datetime.timetuple(datetime.now())time.struct_time(tm_year=2018, tm_mon=1, tm_mday=24, tm_hour=7, tm_min=44, tm_sec=17, tm_wday=2, tm_yday=24, tm_isdst=-1)

now(时区)获取当前系统datetime格式时间

缺省不带时区,返回的是本机时区datetime.now()2018-01-19 11:06:03.903022

utcnow()获取当前系统datetime格式时间

缺省不带时区,返回的是标准时区datetime.utcnow()2018-01-19 03:06:03.903022

astimezone(timezone格式)带utc格式的时区转换时区

它会改变原datetime时间的时区datetime_utc = datetime.utcnow().replace(tzinfo=timezone.utc)

print(datetime_utc.astimezone(timezone(timedelta(hours=8))))2018-02-01 15:49:49.578894+08:00

today()获取当前系统datetime格式时间

和不带时区的now()结果一样datetime.today()2018-01-19 03:06:03.903022

replace(实参)改变datetime时间对象的属性值datetime.now().replace(year=2002,month = 11)2002-11-19 04:04:10.917801

datetime格式对象的属性date()--日期

year--年

month--月

day--天

time()--时间

hour--小时

minute--分钟

second--秒

microsecond--微秒

resolution--当前时间格式的最小单位

tzinfo--时区print(datetime.now().date())

print(datetime.now().year)

print(datetime.now().month)

print(datetime.now().day)

print(datetime.now().time())

print(datetime.now().hour)

print(datetime.now().second)

print(datetime.now().minute)

print(datetime.now().microsecond)

print(datetime.now().resolution)

print(datetime.utcnow().tzinfo)2018-01-19

2018

1

19

04:13:32.181138

4

32

13

181163

0:00:00.000001

None

-计算两个时间的差值,结果分date和time

两个时间必须是datetime对象

最小可以支持到微秒n = datetime(10,10,10,10,10)

t = datetime(8,8,8,8,8)

print(n-t)793 days, 2:02:00

date类

方法名作用示例结果

date(年,月,日)年月日不可缺省

把年月日参数转换成date格式

转换完可以使用date格式对象的属性date(2002,2,2)2002-02-02

date格式对象的属性year--年

month--月

day--天date(2002,2,2).year

date(2002,2,2).month

date(2002,2,2).day2002

2

2

timetupel(date对象)返回struc_time格式元组s = date(1,2,1)

timetuple(s)time.struct_time(tm_year=1, tm_mon=2, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=32, tm_isdst=-1)

strftime(date对象,格式符)返回指定格式化符号的字符串

格式化符号%Y,%m,%d,%y,%w等和天数相关格式

具体参照time模块的格式说明s = date(1,2,1)

date.strftime(s,"%y,%W,%Y,%m,%d")01,05,1,02,01

replace(实参)改变date时间对象的属性值s.replace(day = 9)0001-02-09

toordinal()计算现在时间距离1年1月1日多少天s.toodinal()32

weekday()返回星期,星期一为0,星期日为6s.weekday()3

iosweekday()返回星期,星期一为1,星期日为7s.iosweekday()(1, 5, 4)

iosformat()返回格式为,“年-月-日”的日期s.iosformat()0001-02-01

ctime()返回字符串型日期s.ctime()Thu Feb  1 00:00:00 0001

time类

方法名作用示例结果

time(小时,分,秒,毫秒)返回一个time格式的时间

缺省参数,显示00:00:00time(12,35,21,965)12:35:21.000965

time属性。返回时间的小时、分钟、秒、毫秒

hour--小时

minute--分钟

second--秒

microsecond--微秒

tzinfo--时区t = time(12,35,21,965)

print(t.hour)

print(t.minute)

print(t.second)

print(t.microsecond)

print(t.tzinfo)12

35

21

965

None

replace(实参)可以替换指定部分time格式的时间

hour,minute,second,microsecond,tzinfoprint(t.replace(minute=3))12:03:21.000965

isoformat()返回一个‘HH:MM:SS.%f'格式的时间字符串print(t.isoformat())12:35:21.000965

strftime(time时间格式,字符串格式符)将时间格式转变成指定字符串格式print(t.strftime("Hours:%H,%M,%S"))

print(time.strftime(t,"Hours:%H,%M,%S"))Hours:12,35,21

timedelta类

timedalte 对象表示两个时间的差值,可以指定天、时间、周。

*实际上就是datetime的-号运算结果。使用timedelta格式化以后重新与datetime对象进行加、减运算,计算出指定日期。

*构造函数:timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

属性说明示例结果

min显示timedelta支持的最小时间差timedelta.min-999999999 days, 0:00:00

max显示timedelta支持的最大时间差timedelta.max999999999 days, 23:59:59.999999

resolution显示timedelta支持最小时间单位timedelta.resolution0:00:00.000001

timedelta参数days--天

hours--小时

seconds--秒

microseconds--微秒

milliseconds--毫秒

weeks--周print(timedelta(days = 1))

print(timedelta(hours = 1))

print(timedelta(seconds = 1))

print(timedelta(microseconds = 1))

print(timedelta(milliseconds = 1))

print(timedelta(weeks = 1))1 day, 0:00:00

1:00:00

0:00:01

0:00:00.000001

0:00:00.001000

7 days, 0:00:00

timedelta对象属性days--天

seconds--秒

microseconds--微秒delta = timedelta.max

print(delta.days)

print(delta.seconds)

print(delta.microseconds)999999999

86399

999999

timezone类

utc获取标准时区0

astimezone(timedelta格式)改变时区

标准变换时区语句:

utc_date= datetime.utcnow().replace(tzinfo=timezone.utc)

print(utc_date)

bj_utc = utc_date.astimezone(timezone(timedelta(hours = 8)))

print(bj_utc)

结果:

2018-02-01 08:23:19.612199+00:00

2018-02-01 16:23:19.612199+08:00

例子:

一、当前时间加一个月

now_time = datetime.now()

next_time = now_time.replace(month = now_time.month+1)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值