python中关于时间处理的模块有很多,本文将主要讲解python内置的time模块以及datetime模块。
一:time模块
python使用time模块,需要先导入time包。使用time.time()可以得到一个当前运行时间的时间戳,时间戳(timestamp)表示的是从1970年1月1号0点0分0秒到当前运行时间按秒计算的偏移量,它是浮点类型的。
不同程序语言得到的时间戳表示方式可能不同,部分会得到毫秒为单位的偏移量。 可能有些人对时间戳形式会表示疑问,明明可以直接得到时间格式的时间,为什么要去获得一串一眼看不明白具体时间的浮点数呢。这是因为时间格式不方便保存在数据库中,虽然可以转换成时间格式的字符串但它的格式是不固定的,在获取时需要提前获知具体时间格式,增加了工作量。
使用time.localtime()可以获得当前时区的数组格式时间。
从输出可以看到具体的年月日时分秒以及星期几和一年中的第几天,这里需要特别注意的是tm_wday,它是从0开始递增的,0代表周一6代表周日。上面代码localtime()没有带任何参数,返回的是当前运行时间。它也可以添加具体的时间戳参数,返回的是时间戳所代表的数组结构时间。
使用time.strftime()可以将时间格式数据转换成字符串格式
time.strftime()中的参数可以自己定制,按需提取所需要的字符串时间格式,例如只传入年月日或者时分秒都可以得到相对应正确的输出。
使用time.strptime()可以将字符串格式的时间数据转换成对应的时间格式,time.strptime()中的参数没有time.strftime()中的参数格式那么自由,它需要和相应的字符串格式一一对应,不能随意增减格式。
使用time.sleep()可以起到线程睡眠的效果,其中的参数为线程睡眠具体的时间。
二:datetime模块
datetime和time模块用法相似,它是在time模块的基础上进行了一些封装,提供了更多的实用函数。
使用datetime之前需要先导入,datetime.datetime.now()可以获得当前的运行时间,得到的是具体的时间格式数据而非时间戳。
datetime.timedelta()表示一个时间间隔,其中参数可以选择年月周日等一系列时间值。
datetime库也有strftime()和strptime()函数,用法和time模块一模一样,这里不再赘述。在datetime模块中将一个时间格式的数据转换成时间戳格式需要使用datetime.datetime.timestamp(),将时间戳转换成时间格式则使用datetime.datetime.fromtimestamp()
不管是time模块还是datetime模块,都还有很多丰富的方法没有介绍,本文只是介绍了作者经常用到的几个函数,大家可以翻阅官方文档了解更多的使用方法。
相关新闻
◎版权作品,未经中国文化报道网书面授权,严禁转载,违者将被追究法律责任。
Copyright 2015-2019. 中国文化报道网 www.cgia.cn All rights reserved.
违法和不良信息举报邮箱:jubao@cgia.cn
未经过本站允许,请勿将本站内容传播或复制