Python基础(14)-时间处理

為{幸葍}努か 提交于 2020-04-29 16:30:30

1.datatime模块介绍

datetime是python的内置模块,用来处理日期和时间。datetime对象是 date 与 time 的结合体,涵盖了datetime对象

的所有信息。

该模块常用的类有:

类名 功能说明
date 日期对象
time 时间对象
datetime 日期时间对象
timedelta 时间间隔
tzinfo 时区信息对象

 

2.构造datatime对象

from datetime import datetime

datetime(year,month,day,hour=0, minute=0, second=0, microsecond=0, tzinfo=None)


参数范围:
  MINYEAR <= year <= MAXYEAR
  1 <= month <= 12
  1 <= day <= 指定年月的天数
  0 <= hour < 24
  0 <= minute < 60
  0 <= second < 60
  0 <= microsecond < 1000000

3.datatime类方法

datetime.today()

返回本地区当前日期时间datetime对象

datetime.today()
# 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)

datetime.now(tz=None)

返回本地区当前日期时间datetime对象,可以添加时区tz 默认无时区时,返回结果和datetime.today()一致

datetime.now()
# 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)

datetime.fromtimestamp(timestamp, tz=None)

返回给定时间戳的datetime对象,时区默认为空,返回当地日期时间,也可以指定时区

datetime.fromtimestamp(1575877756)
# 输出 : datetime.datetime(2019, 12, 9, 15, 49, 16)

附注:想获取当前时间戳,可通过time模块的time方法实现

datetime.combine(date, time, tzinfo=self.tzinfo)

拼接datetime对象,形成一个新的datetime对象 可以输入时区参数,否则默认为原time的时区

date_ = datetime.today().date()
time_ = datetime.today().time()
datetime.combine(date_,time_)
# 输出 : datetime.datetime(2019, 12, 9, 16, 12, 56, 914484)

datetime.strptime(date_string, format)

将格式化日期时间字符串,转换为datetime对象,可以转换日期、时间、日期时间

datetime.strptime('2019-11-05','%Y-%m-%d')
# 输出 : datetime.datetime(2019, 11, 5, 0, 0)
datetime.strptime('09:30:50','%H:%M:%S')
# 输出 : datetime.datetime(1900, 1, 1, 9, 30, 50)
datetime.strptime('2019-11-05 09:30:50','%Y-%m-%d %H:%M:%S')
# 输出 : datetime.datetime(2019, 11, 5, 9, 30, 50)

4.datatime实例方法

d = datetime(2019,12,6,13,30,50)
d.date() # 输出 : datetime.date(2019, 12, 6) d.time() # 输出 : datetime.time(13, 30, 50) d.timestamp() # 输出 : 1575610250.0 d.weekday() # 输出 : 4 返回星期几,星期一为 0,星期天为 6 d.isoweekday() # 输出 : 5 返回星期几,星期一为 1,星期天为 7 d.isocalendar() # 输出 : (2019, 49, 5) 返回数组:(年、第多少周、星期几)

datetime.strftime(date_string, format)

datetime对象转换为格式化字符串

d = datetime.today()
datetime.strftime(d,'%Y-%m-%d %H:%M:%S')
# 输出 : '2019-12-09 16:32:18' 

5.datatime类实例属性

d = datetime(2019,12,6,13,30,50)

d.year
# 输出 : 2019

d.month
# 输出 : 12

d.day
# 输出 : 6

d.hour
# 输出 : 13

d.minute
# 输出 : 30

d.second
# 输出 : 50

d.microsecond
# 输出 : 3000

 6.datatime时差计算

1)计算时间差:

#! /usr/bin/env python
#coding=utf-8

import time
import datetime

d1 = datetime.datetime(2011, 2, 8)
d2 = datetime.datetime(2010, 12, 31)

print(d1 - d2).days

2)计算运行时间:

#! /usr/bin/env python   
#coding=utf-8   
  
import time   
import datetime   
  
starttime = datetime.datetime.now()   
  
time.sleep(5)   
  
endtime = datetime.datetime.now()   
print(endtime - starttime).seconds 

3)计算十天后日期时间:

#! /usr/bin/env python
#coding=utf-8

import time
import datetime

d1 = datetime.datetime.now()
d3 = d1 + datetime.timedelta(days =10)

print(str(d3))
print(d3.ctime())

7.time模块

1)显示当前日期:

#! /usr/bin/env python
#coding=utf-8

import time

print(time.strftime("%Y-%m-%d %A %X %Z", time.localtime()))

  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!