时间模块

UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。

在Python中,通常有这几种方式来表示时间:
1)时间戳,1970年1月1日之后的秒,即:time.time()
2)格式化的时间字符串,即:time.strftime('%Y-%m-%d')
3)结构化时间: 元组共九个元素,包含了:年、月、日、星期等... 返回struct_time的函数主要有gmtime(),localtime(),strptime()等.

>>> import time

>>> time.time()                        #返回时间戳
1547911729.4856396 >>> time.localtime() #可加时间戳参数time.time()
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=23, tm_min=29, tm_sec=42, tm_wday=5, tm_yday=19, tm_isdst=0) >>> time.localtime() #可加时间戳参数time.time()
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=23, tm_min=30, tm_sec=53, tm_wday=5, tm_yday=19, tm_isdst=0) >>> time.strftime('%Y-%m-%d') # 默认当前时间
'2019-01-19' >>> time.strftime('%Y-%m-%d', time.localtime()) # 默认当前时间
'2019-01-19' >>> time.strptime('2019-01-19', '%Y-%m-%d') #自定义时间
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=19, tm_isdst=-1) >>> time.asctime() #返回时间格式
'Sat Jan 19 23:33:21 2019' >>> time.localtime() #返回本地时间 的struct time对象格式
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=23, tm_min=34, tm_sec=8, tm_wday=5, tm_yday=19, tm_isdst=0) >>> time.asctime(time.localtime()) #返回时间格式
'Sat Jan 19 23:35:03 2019' >>> time.ctime() #返回时间格式
'Sat Jan 19 23:25:03 2019' >>> time.process_time() #测量处理器运算时间,不包括sleep时间
5.1948333 #将日期字符串 转成 struct时间对象格式
>>> string_2_struct = time.strptime("2019-01-19","%Y-%m-%d")
>>> print(string_2_struct)
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=19, tm_isdst=-1) #将struct时间对象转成时间戳
>>> struct_2_stamp = time.mktime(string_2_struct)
>>> print(struct_2stamp)
1547827200.0 #将时间戳转为字符串格式 # 1.将utc时间戳转换成struct_time格式
>>> time.gmtime(time.time()-86640)
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=18, tm_hour=15, tm_min=38, tm_sec=29, tm_wday=4, tm_yday=18, tm_isdst=0) # 2.将utc struct_time格式转成指定的字符串格式 >>> time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime())
'2019-01-19 15:43:41'

时间加减

>>> import time
>>> import datetime >>> datetime.datetime.now() # 返回2019-01-20 00:03:39.547184
datetime.datetime(2019, 1, 20, 0, 3, 39, 547184) >>> datetime.date.fromtimestamp(time.time()) # 时间戳直接转成日期格式2019-01-20
datetime.date(2019, 1, 20) >>> datetime.datetime.now() + datetime.timedelta(3) # 当前时间+3天
datetime.datetime(2019, 1, 23, 0, 4, 10, 418950) >>> datetime.datetime.now() + datetime.timedelta(-3) # 当前时间-3天
datetime.datetime(2019, 1, 17, 0, 4, 25, 591817) >>> datetime.datetime.now() + datetime.timedelta(hours=3) # 当前时间+3小时
datetime.datetime(2019, 1, 20, 3, 4, 41, 192710) >>> datetime.datetime.now() + datetime.timedelta(minutes=30) # 当前时间+30分
datetime.datetime(2019, 1, 20, 0, 34, 50, 179224) >>> c_time = datetime.datetime.now() # 时间替换
>>> c_time.replace(minute=3,hour=2)
datetime.datetime(2019, 1, 20, 2, 3, 12, 677511)

格式参照

%a    本地(locale)简化星期名称
%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 - 61) 二
%U 一年中的星期数。(00 - 53星期天是一个星期的开始。)第一个星期天之前的所有天数都放在第0周。 三
%w 一个星期中的第几天(0 - 6,0是星期天) 三
%W 和%U基本相同,不同的是%W以星期一为一个星期的开始。
%x 本地相应日期
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%Z 时区的名字(如果不存在为空字符)
%% ‘%’字符

时间关系转换

参考文档:

http://blog.51cto.com/egon09/1840425

python内建时间模块 time和datetime的更多相关文章

  1. Python内建GUI模块Tkinter(一)

    Python主窗口 Python特定的GUI界面,是一个图像的窗口,tkinter是python自带的,可以编辑的GUI界面,我们可以用GUI实现很多一个直观的功能,如何想开发一个计算器,如果只是一个 ...

  2. Python内建GUI模块Tkinter(二)

    Python核心组件 1.Button 按钮组件:一个简单的按钮,用来执行一个命令或别的操作. 参数解析: text:指定按钮上显示的文本: anchor: 指定按钮上文本的位置(N, NE, E, ...

  3. Python常用模块-时间模块(time&datetime)

    Python常用模块-时间模块(time & datetime) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.初始time模块 #!/usr/bin/env pyth ...

  4. Python内建模块--collections

    python内建模块--collections collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点 ...

  5. python时间模块time,datetime

    时间模块time.datetime 模块(module)是 Python 中非常重要的东西,你可以把它理解为 Python 的扩展工具.换言之,Python 默认情况下提供了一些可用的东西,但是这些默 ...

  6. Python自建logging模块

    本章将介绍Python内建模块:日志模块,更多内容请从参考:Python学习指南 简单使用 最开始,我们用最短的代码体验一下logging的基本功能. import logging logger = ...

  7. [pyhton]python内建方法

    撸一遍python的内建方法 这样做的好处就是:我如果要完成一个功能的时候,如果能用内建方法完成,就用内建方法.这样可以提高效率,同时使自己的代码更加优雅.哎呦?那岂不是撸完就是python高手了?我 ...

  8. python内建的命名空间研究

    python内建的命名空间研究 说明: python内置模块的命名空间.python在启动的时候会自动为我们载入很多内置的函数.类,比如 dict,list,type,print,这些都位于 __bu ...

  9. Python自建collections模块

    本篇将学习python的另一个内建模块collections,更多内容请参考:Python学习指南 collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtupl ...

随机推荐

  1. [BZOJ2863]愤怒的元首

    Description: Pty生活在一个奇葩的国家,这个国家有n个城市,编号为1~n. ​ 每个城市到达其他城市的路径都是有向的. ​ 不存在两个城市可以互相到达. 这个国家的元首现在很愤怒,他大喊 ...

  2. 键盘回收(text filed,textview)

    键盘回收 #pragma mark - TextField 代理方法 - (BOOL)textFieldShouldReturn:(UITextField *)textField { [self.vi ...

  3. webView加载url,加载指定字符串

    //加载url-(void)addWebView{ UIWebView * webView = [[UIWebView alloc] initWithFrame:CGRectMake(, , zScr ...

  4. redis的主从服务器配置

    1. redis的主从配置: (1)把redis的配置文件(reids.conf)拷贝2份 [root@192 redis]# cp redis.conf redis6380.conf [root@1 ...

  5. java内部类(一)

    内部类(一) 一.定义: 内部类就是定义在另一个类内部的类,与之对应,包含内部类的类就是外部类. 二.作用: 1.内部类提供更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包之中的其他类访问该类 ...

  6. 唯美PS转手绘之SAI篇_百度经验

    唯美PS转手绘之SAI篇 https://jingyan.baidu.com/article/fd8044fad3d5c05030137a5f.html

  7. SpringCloud无废话入门04:Hystrix熔断器及监控

    1.断路器(Circuit Breaker)模式 在上文中,我们人为停掉了一个provider,在实际的生产环境中,因为意外某个服务down掉,甚至某一层服务down掉也是会是有发生的.一旦发生这种情 ...

  8. mysql忘记密码时如何修改密码

    1.首先关闭mysql服务 2.进入mysql安装目录,我的是在C:\Program Files\MySQL\MySQL Server 5.5\bin 3.dos命令行执行:mysqld -nt -- ...

  9. Jacoco统计web接口/功能测试的代码覆盖率【转】

    原文:https://www.jianshu.com/p/d2fd02d4164b 一.代码覆盖率 通常我们在做单元测试的时候会接触到代码覆盖率的概念,通过在单元测试的过程中收集代码覆盖率去判断测试用 ...

  10. linux随机数生成

    随机数多应用在密码的随机生成 #随机数生成 $RANDOM (1-32767) 11.内部系统变量($RANDOM) 1-32767 22. awk 'BEGIN{srand();print rand ...