datetime取年月日_(37)python少儿编程之标准库datetime类

前几天太忙有事,停更了几天,非常抱歉,本教程会一直更新,请大家放心!

datetime类

  • datetime模块
  • 对日期、时间、时间戳的处理
  • 何为模块 我们已经理解为一个包 我们导入包 才能使用里面的类,要用这个模块,我们就要用Import导入,这个之前有过演示
  • datetime类
  • 导入包以后,我们才能使用这个类
  • 类方法
  • today() 返回本地时区当前时间的datetime对象
  • now(tz=None) 返回当前时间的datetime对象,时间到微妙,如果tz为None,返回和today()一样
d3002bf2a7d19fd6819c149872c36572.png
  • 首先是导模块,但是写方法的顺序是 模块名.类名.方法名,有时候我们为了省方便,会用from 类名的方法,那么就可以少一个类名了,如图。 这里边分别用了today和now的方法,发现结果是一样的!

  • utcnow() 没有时区的当前时间
e9807dd7d001e5a9a20429ef3780f8e7.png
  • 发现结果差了8小时,因为now取的是我们当前时区的,我们北京时间是东八区,然后utcnow取的是格林威治时间,刚好差8小时

  • datetime对象
  • timestamp() 返回一个到微妙的时间戳
  • 时间戳:格林威治时间1970年1月1日0点到现在的秒数
  • 这个时间戳和时区没有任何关系,这设置了一个时间差的概念
  • 那怎么使用呢
51138851f689794d4fbd2b47ee65c6fc.png
  • 用datetime方法now()取到的就是类对象,然后对象直接调用timestamp()就可以了,他就会算出这个时间到1970年1月1日0点的时间戳就是时间差,小数点后是毫秒

  • 有了时间戳这个概念,前面我们用datetime对象取时间戳,自然也可以从时间戳取datetime对象
  • fromtimestamp(timestamp,tz=None)
709dbaa99b62736c098851f473f4ef42.png
  • 这是类方法需要就要用datetime. 来运行,如果是对象方法就用对象.
  • 这里是tz就是时区,全世界的时间戳都是一样的,只是在转换成datetime的时候,只要录入时区就会变成相应的时间

  • datetime对象
  • 构造方法 datetime.datetime(2019,8,21,8,59,0,10000)
  • year,month,day,hour,minute,second,microsecond,取的是datetime对象的年月日分时分秒微妙
7e4ffe71a0380cbec08f6455d1c7e74d.png
  • 如图,就不解释了

  • weekday() 返回星期的天,周一0,周日6
  • isoweekday() 返回星期的天,周一1,周日7
b20089e0d8e648b509ec21749de2a528.png
  • 8月19日是星期一 看了如果就很明显

  • date() 返回日期date对象
  • time() 返回时间time对象
  • replace() 修改并返回新的时间
  • isocalendar() 返回一个三元组(年,周数,周的天)
433432960d14c3db7356f6aab22b0374.png
  • 这几个方法看一下就懂来了,就replace这个其实真没什么用 看看就行了

日期格式化

  • 类方法 strptime(date_string,format) ,返回datetime对象
  • 对象方法 strftime(format), 返回字符串
  • 字符串format函数格式化
43a488ce45cdec4aa442eeb0dd857903.png
  • strptime用的场景就是可能以后可能时间的格式不是很规范,我们只要用这个方法一一对应,就能初始化正确的datetime对象了!
  • 用strftime将datetime按照格式化输出字符串 因为不同的时间格式会有不同的应用场景
  • 最后的字符串format格式化看一下就好了

timedelta对象

  • timedelta = datetime1 - datetime2
  • 为了解决两个时间的差问题
  • 构造方法
  • datetime.timedelta()
  • year = datetime.timedelta(days=365)
2b0828658823c69e8b97f73e09791c8b.png
  • 我们先申明一个8月21日的时间 然后构造一个7天的时间差,加上去以后就编程8月28日
  • total_seconds() 返回时间差的总秒数
05efed71d5f82c37ee57da9ec6b4c68f.png
  • 一小时等于3600秒

time

  • time.sleep(secs) 将调用线程挂起指定的秒数
27e834ad4517301d3a545d28c0a510c1.png
  • 有时候我们为了让程序停一下 处理一下其他问题就会用这个方法
  • 如图 挂起了5秒以后 时间打印间隔就是5秒的差

  • 以后一个内容,我都会在一篇文章内写完,这样会让以后的查询更加的方便!
  • 我是阿孝,这节课程就到这里,谢谢!
3aff4cf8526eef8c50fa3e60b1a05869.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值