python时间类的实现(Python日期时间Time模块实例详解)
python时间类的实现
Python日期时间Time模块实例详解本文实例讲述了python日期时间time模块。分享给大家供大家参考,具体如下:
关于时间和日期模块
python程序能用很多方式处理日期和时间,转换日期格式是一种常见的功能。
python提供了一个time和calendar模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。
python的time模块下有很多函数可以转换常见的日期格式。
time模块
1.1 名词解释
utc :格林威治天文时间,世界标准时间,在中国为utc-8
dst:夏令时是一种节约能源而人为规定的时间制度,在夏季调快一小时.
1.2 时间的表示形式
1.时间戳
以整数或浮点型表示的是一个秒为单位的时间间隔,这个时间的基础值1970.1.1的零点开始算起
2.元组格式
采用python的数据结构表示,这个元组有9个整型内容,分别表示不同含义
year month day hours minutes seconds weekday julia day flag[1 夏令时 -1 根据当前时间判断 0 正常表示]
3.格式化字符串
%y 完整年份
时间格式
|
''' %a 本地(local) 简化星期名称 %a 本地完整星期名称 %b 本地简化月份名称 %b 本地完整月份名称 %c 本地相应的日期和时间表示 %d 一个月中的第几天(01-31) %h 一天中的第几个小时(24小时制00-23) %i 第几个小时(12小时制01-12) %j 一年中的第几天(001-366) %m 月份(01-12) %m 分钟数(00-59) %p 本地am或pm的相应符 %s 秒(01-60) %u 一年中的星期数。(00-53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第0周 %w 一个星期中的第几天(0-6 0是星期天) %w 和%u基本相同,不同的是%w以星期一为一个星期的开始 %x 本地相应日期 %x 本地相应时间 %y 去掉世纪的年份(00-99) %y 完整的年份 %z 时区的名字 %% '%'字符 ''' import time time1 = time.time() lt = time.localtime(time1) st = time.strftime( '''a: %a |a: %a |b: %b |b: %b |c: %c |d: %d h: %h |i: %i |j: %j |m: %m |m: %m |p: %p s: %s |u: %u |w: %w |w: %w |x: %x |x: %x y: %y |y: %y |z: %z |%% ''' ,lt) print (st) |
输出:
a: thu |a: thursday |b: apr |b: april |c: thu apr 12 17:15:19 2018 |d: 12
h: 17 |i: 05 |j: 102 |m: 04 |m: 15 |p: pm
s: 19 |u: 14 |w: 4 |w: 15 |x: 04/12/18 |x: 17:15:19
y: 18 |y: 2018 |z: +0800 |%
获取当前时间
1、time.clock()
以浮点数计算秒数,返回程序运行的时间。
|
print (time.clock()) time.sleep( 2 ) print (time.clock()) |
输出:
0.0
2.0007889054974255
|
print (time.clock()) |
输出:
4.665319322446344e-07
用处:可用来计算一段程序运行的时间。
|
import time start = time.clock() for cock in range ( 5 , 101 , 5 ): # 公鸡 for hen in range ( 3 , 101 - cock, 3 ): #母鸡 for chick in range ( 1 , 101 - cock - hen): #小鸡 if cock / / 5 + hen / / 3 + chick * 3 = = 100 and cock + hen + chick = = 100 : pass end = time.clock() time2 = end - start print ( "方案二所花时间" ,time2) |
输出:
方案二所花时间 0.0041665966868768296
2、time.sleep(seconds)
程序休眠seconds再执行下面的语句。单位s
3、time.time() 时间戳
返回一个浮点型数据
格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。 它的提出主要是为用户提供一份电子证据, 以证明用户的某些数据的产生时间。
|
time1 = time.time() print (time1) |
输出:
1523427779.9672592
4、time.gmtime(时间戳)
把时间戳转成格林尼治时间,返回一个时间元组
|
time1 = time.time() gm = time.gmtime(time1) print (gm) |
输出:
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=6, tm_min=22, tm_sec=59, tm_wday=2, tm_yday=101, tm_isdst=0)
5、time.localtime(时间戳)
把时间戳转成本地时间,返回一个时间元组。(如中国时区,加上8个小时)
|
time1 = time.time() lm = time.localtime(time1) print (lm) |
输出:
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=14, tm_min=22, tm_sec=59, tm_wday=2, tm_yday=101, tm_isdst=0)
6、time.mktime(时间元组)
把时间元组转成时间戳,返回一个浮点数。
|
lm2 = time.localtime( 1523328000 ) time2 = time.mktime(lm2) print (time2) |
输出:
1523328000.0
7、time.asctime(时间元组)
将时间元组转成一个字符串。
|
lm2 = time.localtime( 1523328000 ) st = time.asctime(lm2) print (st) |
输出:
tue apr 10 10:40:00 2018
8、time.ctime(时间戳)
将时间戳转成一个字符串。
|
time1 = time.time() ct = time.ctime(time1) print (ct) |
输出:
wed apr 11 15:18:35 2018
9、time.strftime(format,时间元组)
将时间元组转成指定格式的字符串。
|
time1 = time.time() lm = time.localtime(time1) sct = time.strftime( "%y-%m-%d %x" ,lm) print (sct) |
输出:
2018-04-11 15:18:35
10、time.strptime(字符串,format)
将指定格式的字符串转成时间元组。
strp = time.strptime('2018-04-10 11:12:57',"%y-%m-%d %x")
print(strp)
输出:
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=10, tm_hour=11, tm_min=12, tm_sec=57, tm_wday=1, tm_yday=100, tm_isdst=-1)
11、获取凌晨零点到23:59的时间
|
now = time.time() midnight = now - (now % 86400 ) + time.timezone pre_midnight = midnight - 86400 now_midnight = midnight - 1 start_time = datetime.datetime.strptime(time.strftime( "%y-%m-%d %h:%m:%s" , time.localtime(pre_midnight)), "%y-%m-%d %h:%m:%s" ) end_time = datetime.datetime.strptime(time.strftime( "%y-%m-%d %h:%m:%s" , time.localtime(now_midnight)), "%y-%m-%d %h:%m:%s" ) |
希望本文所述对大家python程序设计有所帮助。
原文链接:https://blog.csdn.net/lm_is_dc/article/details/80099899
- python元组汇总(Python数据类型之Tuple元组实例详解)
- 用python实现atm银行系统(Python实现的银行系统模拟程序完整案例)
- python爬虫模块教程(Python爬虫之UserAgent的使用实例)
- pythonsocket编写web服务器(局域网内python socket实现windows与linux间的消息传送)
- python怎么从数组中取内容(python调用c++ ctype list传数组或者返回数组的方法)
- python爬网验证码在哪里(详解python 爬取12306验证码)
- 用python查看运行进程(在Python运行时动态查看进程内部信息的方法)
- python3yield使用教程(python中yield的用法详解——最简单,最清晰的解释)
- python下的sql处理(python中aioysql异步操作MySQL的方法)
- python程序运行步骤(详解python运行三种方式)
- python3列表的使用教程(对Python3 pyc 文件的使用详解)
- python线程安全队列(Python 限制线程的最大数量的方法Semaphore)
- python实现linux服务(Python实现Linux监控的方法)
- python关于微信的模块(python基于itchat模块实现微信防撤回)
- python详细讲解类方法的使用(浅谈python标准库--functools.partial)
- python核心编程和python基础教程(从0开始的Python学习014面向对象编程推荐)
- 虐待儿童是发泄支配欲的愚蠢行为(虐待儿童是发泄支配欲的愚蠢行为)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
热门推荐
- 使用react生命周期的常见情况(react+ts实现简单jira项目的最佳实践记录)
- html5图片做背景代码(Html5之webcoekt播放JPEG图片流)
- electronvue最新版本(Vue3和Electron实现桌面端应用详解)
- tftp协议怎么用(tftp服务器有什么用)
- dedecms命名规则(dedecms utf-8 出现乱码问题的解决方法之一)
- phpweb添加自定义模板(php静态化页面 htaccess写法详解htaccess怎么写?)
- 何谓SQLSERVER参数嗅探问题(何谓SQLSERVER参数嗅探问题)
- 常见NoSQL数据库
- 阿里云服务器linux怎么使用(阿里云服务器linux系统挂载数据盘图文教程)
- react怎样实现响应式计算属性(深入浅析React中diff算法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9