前几天太忙有事,停更了几天,非常抱歉,本教程会一直更新,请大家放心!
datetime类
- datetime模块
- 对日期、时间、时间戳的处理
- 何为模块 我们已经理解为一个包 我们导入包 才能使用里面的类,要用这个模块,我们就要用Import导入,这个之前有过演示
- datetime类
- 导入包以后,我们才能使用这个类
- 类方法
- today() 返回本地时区当前时间的datetime对象
- now(tz=None) 返回当前时间的datetime对象,时间到微妙,如果tz为None,返回和today()一样
- 首先是导模块,但是写方法的顺序是 模块名.类名.方法名,有时候我们为了省方便,会用from 类名的方法,那么就可以少一个类名了,如图。 这里边分别用了today和now的方法,发现结果是一样的!
- utcnow() 没有时区的当前时间
- 发现结果差了8小时,因为now取的是我们当前时区的,我们北京时间是东八区,然后utcnow取的是格林威治时间,刚好差8小时
- datetime对象
- timestamp() 返回一个到微妙的时间戳
- 时间戳:格林威治时间1970年1月1日0点到现在的秒数
- 这个时间戳和时区没有任何关系,这设置了一个时间差的概念
- 那怎么使用呢
- 用datetime方法now()取到的就是类对象,然后对象直接调用timestamp()就可以了,他就会算出这个时间到1970年1月1日0点的时间戳就是时间差,小数点后是毫秒
- 有了时间戳这个概念,前面我们用datetime对象取时间戳,自然也可以从时间戳取datetime对象
- fromtimestamp(timestamp,tz=None)
- 这是类方法需要就要用datetime. 来运行,如果是对象方法就用对象.
- 这里是tz就是时区,全世界的时间戳都是一样的,只是在转换成datetime的时候,只要录入时区就会变成相应的时间
- datetime对象
- 构造方法 datetime.datetime(2019,8,21,8,59,0,10000)
- year,month,day,hour,minute,second,microsecond,取的是datetime对象的年月日分时分秒微妙
- 如图,就不解释了
- weekday() 返回星期的天,周一0,周日6
- isoweekday() 返回星期的天,周一1,周日7
- 8月19日是星期一 看了如果就很明显
- date() 返回日期date对象
- time() 返回时间time对象
- replace() 修改并返回新的时间
- isocalendar() 返回一个三元组(年,周数,周的天)
- 这几个方法看一下就懂来了,就replace这个其实真没什么用 看看就行了
日期格式化
- 类方法 strptime(date_string,format) ,返回datetime对象
- 对象方法 strftime(format), 返回字符串
- 字符串format函数格式化
- strptime用的场景就是可能以后可能时间的格式不是很规范,我们只要用这个方法一一对应,就能初始化正确的datetime对象了!
- 用strftime将datetime按照格式化输出字符串 因为不同的时间格式会有不同的应用场景
- 最后的字符串format格式化看一下就好了
timedelta对象
- timedelta = datetime1 - datetime2
- 为了解决两个时间的差问题
- 构造方法
- datetime.timedelta()
- year = datetime.timedelta(days=365)
- 我们先申明一个8月21日的时间 然后构造一个7天的时间差,加上去以后就编程8月28日
- total_seconds() 返回时间差的总秒数
- 一小时等于3600秒
time
- time.sleep(secs) 将调用线程挂起指定的秒数
- 有时候我们为了让程序停一下 处理一下其他问题就会用这个方法
- 如图 挂起了5秒以后 时间打印间隔就是5秒的差
- 以后一个内容,我都会在一篇文章内写完,这样会让以后的查询更加的方便!
- 我是阿孝,这节课程就到这里,谢谢!