30例一文搞懂python日期时间处理
本文介绍了 datetime 模块中 datetime 类的各种方法和属性,代码案例丰富,分门别类,方便使用时查找。 前言
datetime是 python 的内置模块,用来处理日期和时间。
该模块常用的类有:
本文旨在讲解 datetime 模块中 datetime 类的使用方法。datetime 对象是 date 与 time 的结合体,涵盖了 date 和 time 对象的所有信息。 导入datetime类
第一步,先导入datetime类: from datetime import datetime 构造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
实例: datetime(2019,12,6,13,30,50) # 输出 : datetime.datetime(2019, 12, 6, 13, 30, 50)类方法
1、datetime.today()
返回本地区当前日期时间datetime对象 datetime.today() # 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)
2、datetime.now(tz=None)
返回本地区当前日期时间datetime对象,可以添加时区 tz 默认无时区时,返回结果和datetime.today()一致 datetime.now() # 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)
3、datetime.utcnow()
返回 UTC(同格林尼治时间)日期时间datetime对象 datetime.now() # 输出 : datetime.datetime(2019, 12, 9, 13, 27, 54, 693978)
4、datetime.fromtimestamp(timestamp, tz=None)
返回给定时间戳的datetime对象,时区默认为空,返回当地日期时间,也可以指定时区 datetime.fromtimestamp(1575877756) # 输出 : datetime.datetime(2019, 12, 9, 15, 49, 16)
想获取当前时间戳,可通过time模块的time方法实现: import time time.time() # 输出:1575877756.4673727
5、datetime.utcfromtimestamp(timestamp)
返回给定时间戳的datetime对象,日期时间默认为 UTC(同格林尼治时间) datetime.fromtimestamp(1575877756) # 输出 : datetime.datetime(2019, 12, 9, 7, 49, 16)
6、datetime.fromordinal(ordinal)
输入参数为天数,返回从公元 0 年开始计数的年、月、日datetime对象 比如输入参数为 365,则返回 1-12-31 datetime.fromordinal(365) # 输出 : datetime.datetime(1, 12, 31, 0, 0)
7、datetime.combine(date, time, tzinfo=self.tzinfo)
拼接date和time对象,形成一个新的datetime对象 可以输入时区参数,否则默认为原time的时区 date_ = datetime.today().date() time_ = datetime.today().time() datetime.combine(date_,time_) # 输出 : datetime.datetime(2019, 12, 9, 16, 12, 56, 914484)
8、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)实例方法
1、datetime.date()
返回date对象 d = datetime(2019,12,6,13,30,50) d.date() # 输出 : datetime.date(2019, 12, 6)
2、datetime.time()
返回time对象 d = datetime(2019,12,6,13,30,50) d.time() # 输出 : datetime.time(13, 30, 50)
3、datetime.timestamp()
对于给定的datetime对象返回时间戳 d = datetime(2019,12,6,13,30,50) d.timestamp() # 输出 : 1575610250.0
4、datetime.weekday()
返回星期几,星期一为 0,星期天为 6 d = datetime(2019,12,6,13,30,50) d.weekday() # 输出 : 4
5、datetime.isoweekday()
返回星期几,星期一为 1,星期天为 7 d = datetime(2019,12,6,13,30,50) d.isoweekday() # 输出 : 5
6、datetime.isocalendar()
返回数组:(年、第多少周、星期几) d = datetime(2019,12,6,13,30,50) d.isocalendar() # 输出 : (2019, 49, 5)
7、datetime.ctime()
返回日期时间的字符串表示 d = datetime(2019,12,6,13,30,50) d.ctime() # 输出 : "Fri Dec 6 13:30:50 2019"
8、datetime.strftime(date_string, format)
将datetime对象转换为格式化字符串 d = datetime.today() datetime.strftime(d,"%Y-%m-%d %H:%M:%S") # 输出 : "2019-12-09 16:32:18"
9、datetime.toordinal()
返回从公元 0 年到指定datetime的天数 d = datetime(2019,12,6,13,30,50) d.toordinal() # 输出 : 737399类实例属性
1、datetime.year
返回给定datetime对象的年份 d = datetime(2019,12,6,13,30,50) d.year # 输出 : 2019
2、datetime.month
返回给定datetime对象的月份 d = datetime(2019,12,6,13,30,50) d.month # 输出 : 12
3、datetime.day
返回给定datetime对象的天数(一个月的某天) d = datetime(2019,12,6,13,30,50) d.day # 输出 : 6
4、datetime.hour
返回给定datetime对象的小时数(一天的某时) d = datetime(2019,12,6,13,30,50) d.hour # 输出 : 13
5、datetime.minute
返回给定datetime对象的分钟数(一小时的某分) d = datetime(2019,12,6,13,30,50) d.minute # 输出 : 30
6、datetime.second
返回给定datetime对象的秒数(一分钟的某秒) d = datetime(2019,12,6,13,30,50) d.second # 输出 : 50
7、datetime.microsecond
返回给定datetime对象的毫秒数(一分钟的某秒) d = datetime(2019,12,6,13,30,50,3000) d.microsecond # 输出 : 3000
8、datetime.tzinfo
返回datetime对象的时区,前提是在创建datetime对象时需传入tzinfo参数,如果没有传入则返回值为None。 # 获取一个含有时区的 datetime 对象 import pytz sh = pytz.timezone("Asia/Shanghai") d = datetime(2018, 11, 1, hour=8, tzinfo=sh) d.tzinfo # 输出 :
参考:https://www.jianshu.com/p/7beff16c379d 结论
本文介绍了datetime模块中datetime类的各种方法和属性,代码案例丰富,分门别类,方便使用时查找。
······· END ·······
如果文章对你有帮助,别忘记 点赞、评论