距离2024年春节还有多少天?简单聊聊datetime(38)
小朋友们好,大朋友们好!
我是猫妹,一名爱上Python编程的小学生。
欢迎和猫妹一起,趣味学Python。
今日主题
你见过倒计时吗?
比如距离2024年春节还有多少天?
比如距离高考还有多少天?
今天咱们学习下Python的datetime库,用它可以很简单地计算倒计时哦!
datetime是Python自带的,无需安装,datetime包括处理日期的date对象、处理时间的time对象、计算日期差的timedelta对象等。
datatime模块是在time模块的基础之上做了封装,提供了更多更好用的类供我们使用,常用的有date、datetime、time、timedelta、tzinfo。
但是为了更灵活地处理时间,最好是将time模块和datetime模块中的精髓学习到。
① date类:主要用于处理年、月、日;
② datetime类:date类和time类的综合使用,可以处理年、月、日、时、分、秒;
③ time类:主要用于处理时、分、秒;
④ timedelta类:主要用于做时间加减的;
⑤ tzinfo类:时区类;
注意:tzinfo用得不多,如有需要,可以自行学习。
datetime之date
表示日期的类
date(year, month, day)
构造方法
year取值范围datetime.MINYEAR =1~datetime.MAXYEAR=9999
month取值范围1~12
day取值范围1~本月最后一天
date.today()
返回一个表示当前本地日期的date对象。
date.fromtimestamp(timestamp)
根据给定的时间戮,返回一个date对象。
date.year、date.month、date.day
属性:年、月、日;
date.replace(year, month, day)
生成一个新的日期对象,用参数指定的年,月,日代替原有对象中的属性。(原有对象仍保持不变)
date.timetuple()
返回日期对应的time.struct_time对象即一个元组;
date.toordinal()
返回日期对应的Gregorian Calendar日期;
date.weekday()
返回weekday,如果是星期一,返回0;如果是星期2,返回1,以此类推;
data.isoweekday()
返回weekday,如果是星期一,返回1;如果是星期2,返回2,以此类推;
date.isocalendar()
返回格式如(year,month,day)的元组;
date.isoformat()
返回格式如'YYYY-MM-DD’的字符串;
date.strftime(fmt)
自定义格式化字符串
import datetime
print(type(datetime))
print(type(datetime.date))d1=datetime.date.today()
print(d1)
print(datetime.date.weekday(d1))
print(type(d1))d2=datetime.date(2024,1,1)
print(d2)
<class 'module'>
<class 'type'>
2023-05-06
5
<class 'datetime.date'>
2024-01-01
datetime之datetime
表示日期时间的类
datetime(year、month、day、hour、minute、second、microsecond、tzinfo)
构造方法
datetime.today()
返回一个表示当前本地时间的datetime对象;
datetime.now([tz])
返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
datetime.utcnow()
返回一个当前utc时间的datetime对象;
datetime.fromtimestamp(timestamp[, tz])
根据时间戮,创建一个datetime对象,参数tz指定时区信息;
datetime.utcfromtimestamp(timestamp)
根据时间戮,创建一个datetime对象;
datetime.combine(date, time)
根据date和time,创建一个datetime对象;
datetime.strptime(date_string, format)
将格式字符串转换为datetime对象;
datetime.date()
获取date对象;
datetime.time()
获取time对象;
datetime. replace ([ year[ , month[ , day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ] ] ])
生成一个新的日期时间对象,用参数指定的:年、月、日、时、分、秒、毫秒、时区代替原有对象中的属性
datetime. timetuple ()
返回日期对应的datetime.struct_time对象即一个元组;
datetime. utctimetuple ()
datetime. toordinal ():返回日期对应的Gregorian Calendar日期时间
datetime. weekday ()
返回weekday,星期一返回0;星期2返回1,以此类推
datetime. isocalendar ()
返回格式如(year、month、day、hour、minute、second、microsecond、tzinfo)的元组
datetime. isoformat ([ sep] ):
datetime. ctime ():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));
datetime. strftime (format)
返回自定义格式化字符串。
import datetime
print(type(datetime))
print(type(datetime.datetime))d1=datetime.datetime.today()
print(d1)d2=datetime.datetime(2024,1,1,0,0,0,0)
print(d2)
<class 'module'>
<class 'type'>
2023-05-06 23:19:20.584069
2024-01-01 00:00:00
datetime之time
表示时间的类
time(hour、minute、second、microsecond、tzinfo)
构造方法
hour、minute、second、microsecond、tzinfo:时、分、秒、微秒、时区信息;
time.replace([ hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )
创建一个新的时间对象,用参数指定的时、分、秒、微秒代替原有对象中的属性(原有对象仍保持不变);
time.isoformat()
返回型如"HH:MM:SS"格式的字符串表示;
time.strftime(fmt)
返回自定义格式化字符串。
datetime之timedelta
timedalte是datetime中的一个对象,该对象表示两个时间的差值。
timedelta对象是计算任意两个date datetime time对象之间时间差的对象。
创建其函数如下:
timedelta(day=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)
这里的参数为经过时间的日、秒、微妙、毫秒、分、时、周。
所有参数可以省略,默认值是0。
正数、负数、浮点数都可以参与运算。
timedelta.min:负数时间差,相当于timedelta(-999999999)。
timedelta.max:正数时间差,相当于timedelta(days=999999999, hours=23, minutes=59, seconds=59, microseconds=999999)。
timedelta.resolution:两个时间的最小差值相当于timedelta(microseconds=1)。
计算日期加减指定天数后的日期
from datetime import datetime, timedeltacurrent_datetime = datetime.now()# future dates
one_year_future_date = current_datetime + timedelta(days=365)print('Current Date:', current_datetime)
print('One year from now Date:', one_year_future_date)# past dates
three_days_before_date = current_datetime - timedelta(days=3)
print('Three days before Date:', three_days_before_date)
Current Date: 2023-05-06 23:07:16.669125
One year from now Date: 2024-05-05 23:07:16.669125
Three days before Date: 2023-05-03 23:07:16.669125
计算两个时间相差多少天
date类中还有两个重要方法:__sub__(*)和__sub__(*)方法,获得二个日期相差多少天;
sub(d1):计算的是d减去d1的天数
rsub(d1):计算的是d1减去d的天数
from datetime import *
d = date.today()
print("今天是",d)d1 = date(2024,1,1)
print("新年元旦是",d1)'''
x = d.__sub__(d1)
print(x)
print(x.days)'''y = d.__rsub__(d1)
print('相差',y.days,'天')
今天是 2023-05-06
新年元旦是 2024-01-01
相差 240 天
好了,我们今天就学到这里吧!
如果遇到什么问题,咱们多多交流,共同解决。
我是猫妹,咱们下次见!
距离2024年春节还有多少天?简单聊聊datetime(38)相关推荐
- PHP距离春节还剩多少天,2019年春节倒计时 现在距离2019年春节还有多少天 - 中国万年历...
摘要 2019年春节倒计时 现在距离2019年春节还有多少天2019年春节是在2月5号,农历大年三十.今天是8月30号,现在距离春节只有158天了!所以还没钱过年的朋友,这个中秋节国庆节假期就不要出去 ...
- PHP距离春节还剩多少天,「春节倒计时」2019年春节倒计时 现在距离2019年春节还有多少天 - 56算命网...
春节倒计时 春节,这个节日,或者说这个假期有无数人盯着,每翻过日历的每一页,我们都距离这个日又进了一天.那么,现在距离2019年春节还有多少天?这个具体的时间不太好算,但是想想中秋节都快到了也不难知道 ...
- JAVA程序距离过年还有好多天_距离2019年春节还有多少天 2019年春节时什么时候...
导语:现在让我们对一下时间,今天是2018年10月16号,现在距离2019年春节还有多少天?估计是3个多月吧,毕竟已经是10月中旬了.具体时间我们还是来2019年春节时什么时候吧!2019年春节2月5 ...
- 简单聊聊Python协程
往期好文推荐 学习Python不需要程基础? 0基础不用怕,从0到1轻松教你入门Python python系统学习流线图,教你一步一步学会python 成为一名做大数据开发的女程序员,并不是二狗进入大 ...
- React简单聊聊【面试】
简单聊聊React 1 React 中 keys 的作⽤是什么? Keys 是 React ⽤于追踪哪些列表中元素被修改. 被添加或者被移除的辅助标识. 在开发过程中,我们需要保证某个元素的 key ...
- python 打印皮卡丘_来简单聊聊python的装饰器呀~
原文链接 来简单聊聊python的装饰器呀~mp.weixin.qq.com 导语 之前很多小伙伴留言给我说看别人写的代码经常会感觉云里雾里的,完全看不懂,其实那些代码无非就是用了些python语法 ...
- 简单聊聊HDFS RBF第二阶段工作近期的一些进展
前言 前些时间Apache Hadoop 3.1.0版本正式发布,里面新增了很多feature以及一些bug fix,improvement改进.因为笔者本人最近几个月一直跟进,参与的是HDFS RB ...
- 红米k30 android10 go,小米10/红米K30至尊纪念版:真有那么香吗?简单聊聊它们的优缺点...
小米10/红米K30至尊纪念版:真有那么香吗?简单聊聊它们的优缺点 2020-08-12 20:00:45 201点赞 197收藏 199评论 创作立场声明:说说真香机的缺点,帮助大家做更全面的购买决 ...
- 简单聊聊程序员的健康问题
起因 为什么想聊这个话题呢,最近一段时间,加班比较严重,我想应该有很多朋友的状态和我差不多,昨天头晕眼胀的,而且坐久了腰还疼. 所以我们关注一下自己的健康,是很有必要的.但我知道的实在有限,只能列举一 ...
最新文章
- UML总结—时序图(Sequence Diagram)和协作图(Collaboration Diagram)
- java桥接和装饰_设计模式:桥接模式和装饰模式
- 制作bat脚本,抓取Android设备logcat
- docker 安装nginx_docker安装nginx搭建简单文件共享服务
- 笨鸟学Android开发(1):HelloWorld
- 交叉编译及linux简单程序设计,嵌入式实验6交叉编译及Linux简单程序设计实验
- why do we use process keys
- wemall app商城源码Android之支付宝通知处理类
- java long更大_java – 比Long.MAX_VALUE大的长度
- 纵坐标是横的还是竖的_木地板怎么铺?木地板是横铺好还是竖铺好!
- R语言ETL工程:插入与合并(add/bind)
- Linux makefile 教程 非常详细,且易懂
- Java理解mian方法
- C++写的简易的控制台游戏
- 操作BLOB、CLOB、BFILE
- 路由交换技术实战七 FR 网络中配置 OSPF( 完成版 )
- python爬虫 403 Forbidden 解决方法
- 图片去水印接口,模糊图片中水印
- 929. 独特的电子邮件地址(简单,字符串)(12.20)
- 迈向大牛的重要一步——掌握设计模式
热门文章
- 水星UD6S网卡Linux驱动,水星UD6S驱动程序官方版
- html入门介绍,html标签入门介绍
- 分区格式化大于2 TiB数据盘
- Toshiba TC358743XBG HDMI接口转IC
- 【网络安全】Nessus漏洞扫描器的安装和使用
- YL工作记录 (不断更新) -- 2020.04
- LiteOS 内存管理
- div与p标签均为块级元素,区别是什么?
- python之矩阵相加:提示用户输入矩阵的行数n,再提示用户输入矩阵的列数m,接下来,提示用户输入 2*n*m 个数字(每次输入 一个数字)。输出 C=A+B。
- LTE系统信息 --- 系统信息变更