time模块

1.time.time():返回当前时间的时间戳。

打印时间戳:

>>> import time
>>> time.time()
1530329387.173301

2.time.localtime([secs]):将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。

当前时间:

>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=30, tm_hour=11, tm_min=31, tm_s
ec=56, tm_wday=5, tm_yday=181, tm_isdst=0)

可以自己拼接:

>>> t = time.localtime()
>>> '%s-%s-%s'%(t.tm_year,t.tm_mon,t.tm_mday)
'2018-6-30'
>>>

传入时间戳参数,返回正常时间

>>> time.localtime(123142312)
time.struct_time(tm_year=1973, tm_mon=11, tm_mday=26, tm_hour=14, tm_min=11, tm_
sec=52, tm_wday=0, tm_yday=330, tm_isdst=0)
>>>
int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
int tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
int tm_year; /* 年份,其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
int tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负。

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

时差8小时


3.time.mktime(t):将一个struct_time转化为时间戳。

>>> a = time.localtime()
>>> a
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=30, tm_hour=11, tm_min=43, tm_s
ec=56, tm_wday=5, tm_yday=181, tm_isdst=0)
>>> time.mktime(a)
1530330236.0

4.time.sleep(secs):线程推迟指定的时间运行。单位为秒

import time
print('sleep 3 seconds')
time.sleep(3)
print('醒了') # 此句 隔3秒执行

5.time.asctime([t]):把一个表示时间的元组或者struct_time表示为这种形式:'Sun Oct 1 12:04:38 2017'。如果没有参数,将会将time.localtime()作为参数传入。

>>> a = time.localtime()
>>> a
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=30, tm_hour=12, tm_min=3, tm_se
c=39, tm_wday=5, tm_yday=181, tm_isdst=0)
>>> time.asctime(a)
'Sat Jun 30 12:03:39 2018'
>>> time.asctime()
'Sat Jun 30 12:03:08 2018'

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

>>> a = time.time()
>>> time.ctime(a)
'Sat Jun 30 12:44:07 2018'
>>> time.ctime()
'Sat Jun 30 12:44:18 2018'

7. time.strftime(format[, t]):把一个代表时间的元组或者struct_time(如由time.localtime()和time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。

>>> time.strftime('%Y-%m-%d %H:%M:%S')
'2018-06-30 13:05:07'
>>> a = time.localtime()
>>> a
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=30, tm_hour=13, tm_min=5, tm_se
c=14, tm_wday=5, tm_yday=181, tm_isdst=0)
>>> time.strftime('%Y-%m-%d %H:%M:%S',a)
'2018-06-30 13:05:14' >>> time.strftime('%Y-%m-%d %H:%M:%S %U')
'2018-06-30 13:12:59 25'

python中时间日期格式化符号:

  • %y 两位数的年份表示(00-99)
  • %Y 四位数的年份表示(000-9999)
  • %m 月份(01-12)
  • %d 月内中的一天(0-31)
  • %H 24小时制小时数(0-23)
  • %I 12小时制小时数(01-12)
  • %M 分钟数(00=59)
  • %S 秒(00-59)
  • %a 本地简化星期名称
  • %A 本地完整星期名称
  • %b 本地简化的月份名称
  • %B 本地完整的月份名称
  • %c 本地相应的日期表示和时间表示
  • %j 年内的一天(001-366)
  • %p 本地A.M.或P.M.的等价符
  • %U 一年中的星期数(00-53)星期天为星期的开始
  • %w 星期(0-6),星期天为星期的开始
  • %W 一年中的星期数(00-53)星期一为星期的开始
  • %x 本地相应的日期表示
  • %X 本地相应的时间表示
  • %Z 当前时区的名称
  • %% %号本身

8. strptime 把字符串形式的时间转换成 struct_time

>>> s = time.strftime('%Y-%m-%d %H:%M:%S')
>>> s
'2018-06-30 13:17:20'
>>> time.strptime(s, '%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=30, tm_hour=13, tm_min=17, tm_s
ec=20, tm_wday=5, tm_yday=181, tm_isdst=-1)

9. 时间格式之间的转换


二、datetime模块

  1. d=datetime.datetime.now() 返回当前的datetime日期类型
d.timestamp(),d.today(), d.year,d.timetuple()等方法可以调用

2.datetime.date.fromtimestamp(322222) 把一个时间戳转为datetime日期类型

3.时间运算

>>> datetime.datetime.now()
datetime.datetime(2018, 6, 30, 13, 57, 54, 5000)
>>> datetime.datetime.now() + datetime.timedelta(1) #当前时间加一天
datetime.datetime(2018, 7, 1, 13, 58, 5, 187000) >>> datetime.datetime.now()
datetime.datetime(2018, 6, 30, 13, 59, 34, 932000)
>>> datetime.datetime.now() + datetime.timedelta(hours = 4) #当前时间加 4 小时
datetime.datetime(2018, 6, 30, 17, 59, 47, 791000)

4.时间替换

>>> t = datetime.datetime.now()
>>> t
datetime.datetime(2018, 6, 30, 14, 0, 54, 98000)
>>> t.replace(year = 1992)
datetime.datetime(1992, 6, 30, 14, 0, 54, 98000)

最新文章

  1. bzoj1415[NOI2005]聪聪和可可
  2. 02. Let & Const
  3. Linux tricks
  4. Structure And Representation Of MIB Object Names - SNMP Tutorial
  5. 在Android上实现使用Facebook登录(基于Facebook SDK 3.5)
  6. 四轴飞行diy全套入门教程(从最基础的开始)
  7. Insert data from excel to database
  8. pom.xml配置
  9. Eclipse关闭项目
  10. asp.net core系列 27 EF模型配置(索引,备用键,继承)
  11. redis-hash
  12. 结对编程core_6
  13. C++ string中find() 用法
  14. Springboot+MyBatis+mysql+jsp页面跳转详细示例
  15. 疯狂Java讲义PDF
  16. bzoj 3978: [WF2012]Fibonacci Words
  17. UE4的csv文件导入、URL地址的读取及动态材质的设置
  18. RabbitMQ系列之RabbitMQ单机安装
  19. 使用Elasticsearch 与 NEST 库 构建 .NET 企业级搜索
  20. SpringBoot与Dubbo整合上篇

热门文章

  1. IE678910不兼容H5的placeholder属性,需要JS解决
  2. Mysql性能调优方法
  3. OLEDB存取BLOB型数据
  4. SQL Server迭代求和
  5. 洛谷P2312 解方程(暴力)
  6. 1729 单词查找树 2000年NOI全国竞赛
  7. 纯css 简单网页
  8. toMapFromStage layerDefinitions ClassBreakRenderer
  9. android Viewpager取消预加载及Fragment方法的学习
  10. (转)Android新的menu实现——ActionMode