今天扣丁学堂给大家来详细介绍一下Python中提供了对时间日期的多种多样的处理方式,主要是在time和datetime这两个模块里。今天扣丁学堂小编给为大家整一下Pyrthon视频教程之两个模块在使用上的区别。

Python表示时间的两种方式:

1、时间戳(相对于1970.1.100:00:00以秒计算的偏移量),时间戳是惟一的

2、时间元组即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同。

struct_time元组共有9个元素,分别含义如下:

tm_year(年)四位数字,如:2017

tm_mon(月)1-12

tm_mday(日)1-31

tm_hour(时)0-23

tm_min(分)0-59

tm_sec(秒)0-61

tm_wday(weekday)0-6(0表示周日)

tm_yday(一年中的第几天)1-366

tm_isdst(是否是夏令时)默认为-1

time

在Python文档里,time是归类在GenericOperatingSystemServices中,换句话说,它提供的功能是更加接近于操作系统层面的。通读文档可知,time模块是围绕着UnixTimestamp进行的。

该模块主要包括一个类struct_time,另外其他几个函数及相关常量。需要注意的是在该模块中的大多数函数是调用了所在平台Clibrary的同名函数,所以要特别注意有些函数是平台相关的(如:time.clock()),可能会在不同的平台有不同的效果。另外一点是,由于是基于UnixTimestamp,所以其所能表述的日期范围被限定在1970-2038之间,如果你写的代码需要处理在前面所述范围之外的日期,那可能需要考虑使用datetime模块更好。

常用方法:

1、time.sleep(secs)#推迟指定的时间(secs)后继续运行

2、time.localtime([secs])#将一个时间戳转换成一个当前时区的struct_time,如果seconds参数未输入,则以当前时间为转换标准、、,未提供secs参数时,按当前时间为准

3、time.strftime(format[,t])#将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出

4、time.time()#返回当前时间的时间戳

5、time.mktime(t)#将一个struct_time转换为时间戳,如下time.localtime接收一个时间戳返回一个struct_time,而time.mktime接收一个struct_time,返回一个时间戳

6、time.gmtime([secs])#和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time

7、time.clock()#这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)

8、time.asctime([t])#把一个表示时间的元组或者struct_time表示为这种形式:'SunJun2023:21:051993'。如果没有参数,将会将time.localtime()作为参数传入

9、time.ctime([secs]):把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))

10、time.strftime(format[,t])#把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个元素越界,ValueError的错误将会被抛出

代码实例:

>>>importtime

使用time模块,首先得到当前的时间戳

>>>time.time()

1513855961.782587

将时间戳转换为时间元组struct_time

>>>time.localtime(time.time())

time.struct_time(tm_year=2017,tm_mon=12,tm_mday=21,tm_hour=19,tm_min=33,tm_sec=17,tm_wday=3,tm_yday=355,tm_isdst=0)

格式化输出想要的时间

>>>time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time()))

'2019-12-2119:33:40'

接上文,不加参数时,默认就是输出当前的时间

>>>time.strftime('%Y-%m-%d%H:%M:%S')

'2019-12-2119:33:53'

使用的时候需要注意一下使用的时区。

datetime

datetime比time高级了不少,可以理解为datetime基于time进行了封装,提供了更多实用的函数。在datetime模块中包含了几个类,具体如下:

timedelta#主要用于计算时间跨度

tzinfo#时区相关

time#只关注时间

date#只关注日期

datetime#同时有时间和日期

在实际实用中,用得比较多的是datetime.datetime和datetime.timedelta,另外两个datetime.date和datetime.time实际使用和datetime.datetime并无太大差别。对于一个datetime.datetime实例,主要会有以下属性及常用方法:

datetime.year

datetime.month

datetime.day

datetime.hour

datetime.minute

datetime.second

datetime.microsecond

datetime.tzinfo#时区

datetime.date()#返回date对象

datetime.time()#返回time对象

datetime.replace(name=value)#前面所述各项属性是read-only的,需要此方法才可更改

datetime.timetuple()#返回time.struct_time对象

dattime.strftime(format)#按照format进行格式化输出

除了实例本身具有的方法,类本身也提供了很多好用的方法:

datetime.today()a#当前时间,localtime

datetime.now([tz])#当前时间默认localtime

datetime.utcnow()#UTC时间

datetime.fromtimestamp(timestamp[,tz])#由UnixTimestamp构建对象

datetime.strptime(date_string,format)#给定时间格式解析字符串

使用timedelta也算是比较简单的:

>>>importdatetime

>>>time_now=datetime.datetime.now()

>>>time_now

datetime.datetime(2019,12,21,19,35,59,129648)

>>>time_now.strftime('%Y-%m-%d%H:%M:%S')

'2019-12-2119:35:59'

>>>delta=datetime.timedelta(hours=24)

>>>print(time_now+delta)

2019-12-2219:35:59.129648

>>>print(time_now-delta)

2016-10-2620:46:16.657523

>>>print(time_now-delta)

2019-12-2019:35:59.129648

以上就是关于扣丁学堂Python培训之time和datetime区别的详细介绍,最后想要了解更多资讯或学习Python开发请关注扣丁学堂官网和微信公众号。扣丁学堂作为知名的IT培训机构,不仅有专业的Python培训讲师和与时俱进的课程体系,还有大量的Python全栈开发工程师视频教程供学员观看学习,想要学好Python开发技术的小伙伴就抓紧时间行动吧。扣丁学堂Python技术交流群:816572891。

datetime默认当前时间_简述Python培训之time和datetime的区别相关推荐

  1. python unix时间戳转换成时间_关于python:将unix时间戳字符串转换为可读日期

    我有一个用python表示unix时间戳(即"1284101485")的字符串,我想把它转换成一个可读的日期.当我使用time.strftime时,我得到一个TypeError: ...

  2. 学python多长时间能够精通-Python培训需要多长时间可以学会?

    Python培训需要多长时间可以学会? 相信学好python是不少人的梦想,学习Python编程语言在初期入门阶段就可以自己动手做一些实用的小项目,这样会极大的增进我们学习编程的热情.很多朋友都是零基 ...

  3. python精通多长时间_学Python需要多久能学会?精通Python需要多长时间?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 严格意思上的说,Python其实是一个脚本语言,编程语言多种多样,但是却有开源和闭源之分,Python就是一种开放核心源代码编程语言,其开发代码的效率非常 ...

  4. python mysql驱动写入datetime类型的数据_解决python写入mysql中datetime类型遇到的问题...

    刚开始使用python,还不太熟练,遇到一个datetime数据类型的问题: 在mysql数据库中,有一个datetime类型的字段用于存储记录的日期时间值.python程序中有对应的一个dateti ...

  5. python精通时间_学Python需要多久能学会?精通Python需要多长时间?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 严格意思上的说,Python其实是一个脚本语言,编程语言多种多样,但是却有开源和闭源之分,Python就是一种开放核心源代码编程语言,其开发代码的效率非常 ...

  6. python执行原理是什么意思_简述Python程序的执行原理。

    [简答题]什么是遗传密码的摆动性? [简答题]请将下列程序补充完整,并将源代码和运行结果截图提交. 要求:从键盘输入任意实数,请输出其绝对值. 注意:完善源代码文档信息,并为程序添加必要的注释. /* ...

  7. python获取计算机时间_在Python中获取计算机的UTC偏移量

    当年话下 time.timezone:import timeprint -time.timezone它以秒为单位打印UTC偏移量(考虑到夏令时(DST),请参见time.altzone:is_dst  ...

  8. python中scrapy框架_简述python Scrapy框架

    一.Scrapy框架简介 Scrapy是用纯Python实现一个为了爬取网站数据,提取结构性数据而编写的应用框架,用途非常广泛.利用框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网 ...

  9. python中pass语句的作用是什么_简述 Python 中 pass 语句的作用。

    [单选题]从总体中抽取的样本数据的频率分布直方图如图所示,若总体中85%的数据不超过b,则b的估计值为( ) [单选题]Graphically, competitive market supply i ...

最新文章

  1. 网络传输数据格式的选择
  2. Oracle数据加载之sqlldr工具的介绍
  3. 初学Java--计算器
  4. 将本地工程上传到github
  5. JAVA8之lambda表达式
  6. linux 等待进程,Linux 进程等待队列
  7. 我密集面试了若干位Java后端的候选人,给广大程序员的一点建议
  8. 不随意付钱,不随意签字。
  9. Docker 学习5 Docker容器网络
  10. 台式计算机设备验收单,电脑设备验收单.doc
  11. 人工智能发展历程、机器学习分类、人工智能设计到的数学知识
  12. 如何调用common.js
  13. hadoop可以解决什么问题_在家艾灸可以解决这些问题
  14. 北航计算机学院马殿富,北京航空航天大学计算机学院院长马殿富演讲
  15. R(A+B)<=R(A)+R(B): R(AB)<=min(R(A)+R(B)): A为m×n矩阵,r(A)=n,则AX=0只有零解。设矩阵A为m×n的秩R(A)=m;Ax=b 有解;
  16. 【论文翻译】Learning Generalizable and Identity-Discriminative Representations for Face Anti-Spoofing
  17. 黑盒测试和白盒测试优点和缺点
  18. 生命不息,折腾不止~Vim编辑器,插件,编译,补全配置(2018)
  19. 「C++游戏」双人大乱斗
  20. Opencv各基本函数的作用及示例1(对图像的基础处理)

热门文章

  1. 要“牵手”了?抖音和腾讯商谈对等开放 腾讯火速回应
  2. Redmi K40S难产:缺芯是根本原因 明年或有望缓解
  3. 上线了!游戏企业防沉迷落实情况有了举报平台
  4. 苹果又遭集体诉讼,网友拍手:干得漂亮......
  5. 1月25日再次开抢!三星Galaxy S21系列标准版已多次开售即罄
  6. 2020年国内电影总票房突破100亿元
  7. 摆摊神器五菱荣光爆红后,上汽大通房车又成夜市新晋网红
  8. 支付宝区块链授权专利212件 位居全球第一!
  9. 特斯拉地图数据服务以后由百度地图提供
  10. 英特尔:把基带卖给苹果 完全是高通逼的