解析式也称推导式
datetime模块,取当前时间然后时间相减去总的秒数
datetime模块,有很多类,其中有datetime
类方法,要创建一个时间的对象,此时还没有时间对象, 一切值本身就是对象,,创建一个指代某个时间点的时间对象,
使用类来创建时间对象(比如list=list()说白了就是调用了此类方法来创建一个list对象出来)
以前没有列表,生成一个给你操作的列表出来,从类型上生成一个真正可供你操作的列表出来,但是列表对象你要用不能直接操作内存地址来使用,创建对象之后赋值给变量,通过变量来操纵内存中的对象
调用datetime类来创建对象,要用就操作这个变量,now相当于把当前时间的所有信息都包含到了一个对象中去
append是用了刚才你在内存中创建出来的对象
下面如果操作d1,就不是类的了,这就是创造时间对象,它可以被操作的
把当前时间取出来,这是用类的方法创建对象
现在就送到d1里去了
datetime。now类型的方法
date可以理解为时间对象的方法
跟now一样
不带时区的,格林尼治时间,(可以根据你在哪个时区加减得出你所在时区的时间)
时间戳,返回一个到微妙的时间戳
格林威治时间1970年1月1日0点到现在的秒数
时间戳是一个跟时区无关的概念
可以从时间戳推算到你当前的时间
可以从时间戳创建出来当前时间
如果使用时间戳,如果使用默认时间,会返回当前时区的时间,也可以指定时区
d4就得到格林尼治的时间,看你需要什么
一般情况会用这两个,如果是跨时区的系统,就需要指定时区或者使用utcnow
从时间戳里也可以拿到一个时间对象,可以关联时区
如果不用上面类的方法来构建一个datetime对象可以使用下面的构造方法(年月日时分秒)
时间对象可以取时间戳
返回日期
返回时分秒的部分
修改并返回新的时间
这个很少用
可能用的多
大多数信息记录的时候都是记录的时间的,输出时间之后有可能需要对这个时间进行简单的处理,时间格式不对用起来就特别不方便,可能希望转换成某种样式的字符串来处理
就是去格式化时间的
年月日可以小写(大写取4位 2018,小写取2位 18),但是时分秒应该都是大写的
stptime,p表示plus,解析一个时间,给你一个字符串,按照一定格式去解析
给你一个字符串,按照一定格式去解析,所以可以拿到一个时间对象没有空格就匹配不上
从一个字符串解析成对象
也可以调整格式
也可以这么写
用年月日属性也可以取到
很多人还是习惯用这种方式得到字符串
timedelta表示一个区间,是在两个时间的差,delta是增量的意思,
有了这个时间差放到对象上去
这两个得到新的时间对象
相减得到时间差(timedelta)对象,就可以使用时间差方法,差值转换成秒数,是个整形
】不相减,还可以构造一个
表示5天的增量
也可以加5秒
时间增量可以跟时间对象进行加减运算
时间加减法
只有这个方法
做时间用的库,现在python鼓励用datetime库
time.sleep会发起系统调用,可以认为是暂停
ipython比较明显
过5秒,但是其实你在暂停敲击的都记录进去了,相当于在当前跟你交互的线程睡着了
在哪个线程调用了,哪个线程就睡觉暂停
datetime很重要,要记录你是几分几秒进行操作的
这些用的很少了解下即可
格式化字符串
记住这个
时间对象可以拿来加减的
当前确实会卡住,当前不接受你的指令,直到sleep睡醒为止