一. time

 time库提供了各种操作时间的方法
 
1. time.asctime([tuple]):将一个时间元组转换成一个可读的24个时间字符串.
>>> time.asctime(time.localtime())
'Mon Jun 11 11:19:10 2018' 2. time.ctime():字符串类型返回当前时间
'Mon Jun 11 11:20:12 2018' 3. time.localtime():默认将当前时间转为struct_time格式类型
>>>time.localtime()
time.struct_time(tm_year=2018, tm_mon=6, tm_mday=11, tm_hour=11, tm_min=21, tm_sec=59, tm_wday=0, tm_yday=162, tm_isdst=0)
可以用time.localtime()[x]来取元组里面的值,[0]就是2017年份,tm_wday是周几,ubuntu好像周一是用0表示的。 4. time.sleep(seconds):延迟执行给定的秒数
time.sleep(3) 5. time.strftime(format[,tuple]): 将元组时间转换为指定时间格式,当tuple不指定时间时,默认为当前时间。
>>> time.strftime('%Y-%m-%d %H:%M:%S')
'2018-06-11 11:29:12' 6. time.mktime():将一个struct_time转为时间戳
>>> time.mktime(time.localtime())
1528687466.0 例子1,把指定的一个日期转换成时间戳
>>> a="2014-10-10 23:40:30"
>>> timearray=time.strptime(a,'%Y-%m-%d %H:%M:%S') # 将其转换为时间数组,使用strptime()可以转换成struct_time
>>> timearray
time.struct_time(tm_year=2014, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=30, tm_wday=4, tm_yday=283, tm_isdst=-1)
>>> timestap=int(time.mktime(timearray)) #转换成时间戳
>>> print timestap
1412955630

  

 
时间戳的作用是给时间加密,那么怎么把时间戳还原呢?
 
>>> timestamp=1505874314.0
>>> timearray=time.localtime(timestamp)
>>> styletime=time.strftime("%Y-%m-%d %H:%M:%S",timearray)
>>> print styletime
2017-09-20 10:25:14

  

可参考 
1) 时间戳转换为指定格式日期的方法2,比实际时间差8个小时,utc国际时间的原因吧
2)获取当前时间并转换为指定日期格式,方法1的代码第5行参数,应该是now
 
 
 
 
 
 

二. datetime模块

 
常用的几个类如下
 
1. datetime.date()类
from datetime import date
from datetime import datetime
1)对象能表示的最大时间
>>> date.max
datetime.date(9999, 12, 31) 2)对象能表示的最小时间
>>> date.min
datetime.date(1, 1, 1) 3)根据datetime自定义时间格式,这里用到了datetime类,需要导入from datetime import datetime
>>> date.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S')
'2018-06-11 14:00:05' 4)返回当前系统时间
>>> date.today()
datetime.date(2018, 6, 11) 5)返回iso格式日期
>>> date.isoformat(date.today())
'2018-06-11' 6)返回时间戳日期
>>> date.fromtimestamp(time.time())
datetime.date(2018, 6, 11) 7)根据日期返回是周几,里面的参数需要是datetime.date()对象类型,星期一是用0表示。
>>> date.weekday(date.today())
0 8)根据日期返回星期几,星期一用1表示
>>> date.isoweekday(date.today())
1 9)根据日期返回日历(年,第几周,星期几)
>>> date.isocalendar(date.today())
(2018, 24, 1)

  

 
2. datetime.datetime()
from datetime import datetime

1)获取当前系统时间
>>> datetime.now()
datetime.datetime(2018, 6, 11, 14, 22, 51, 442684)
>>> datetime.today()
datetime.datetime(2018, 6, 11, 14, 23, 21, 721145) >>>print(datetime.now())
2018-06-11 14:22:51.442684
2) 返回ISO 8601格式时间
>>> datetime.isoformat(datetime.now())
'2018-06-11T14:27:17.590074' 3)返回有年月日的对象
>>> datetime.date(datetime.now())
datetime.date(2018, 6, 11) 4)返回有时分秒的对象
>>> datetime.time(datetime.now())
datetime.time(14, 30, 7, 982648) 5)返回UTC时间,比中国时间早8个小时
>>> datetime.utcnow()
datetime.datetime(2018, 6, 11, 6, 31, 34, 506562)

  

 
 
 
 
 
3. datetime.timedelta():用于时间间隔
from datetime import timedelta
from datetime import date 1)获取昨天的日期
>>> date.today() - timedelta(days=1)
datetime.date(2018, 6, 10) >>> date.isoformat(date.today()-timedelta(days=1))
'2018-06-10' 2)获取明天的日期
>>> date.today()+timedelta(days=1)
datetime.date(2018, 6, 12)
>>> date.isoformat(date.today()+timedelta(days=1))
'2018-06-12'

  

 
                                                                       
 
几个练习题
 
1. 用datetime获取当前的日期,例如:2013-03-29
from datetime import date
>>> date.today()
datetime.date(2018, 6, 11) >>> print (date.today()) #使用print()函数可以只打印出具体日期
2018-06-11 2. 用datetime返回一个月前的日期:比如今天是2013-3-29 一个月前的话:2013-02-27
解答:
>>> now=date.today()
>>> print now
2017-09-18
>>> onemonthago=now-datetime.timedelta(days=30)
>>> print onemonthago
2017-08-19 3.
>>> date=datetime.datetime(2013,03,29) - datetime.timedelta(days=30)
>>> print date
2013-02-27 00:00:00
>>> time_format=date.strftime('%Y%m%d')
>>> print time_format
20130227

  

 
 

模块time, datetime的用法的更多相关文章

  1. 自定义模块,time,datetime以及random

    自定义模块,time,datetime以及random 1.自定义模块 自定义一个模块 import #导入 (拿工具箱) 模块分类 1.内置模块(标准库) --python解释器自带的.py文件(模 ...

  2. re模块、collections模块、time模块、datetime模块

    正则表达式之re模块 re.findall用法(重要) re.findall( '正则表达式' , '待匹配的字符' ) 找出所有的目标字符,用列表的形式展现,如果找不到返回空列表. import r ...

  3. Python常用模块(time, datetime, random, os, sys, hashlib)

    time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) :         通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运 ...

  4. python3 time模块与datetime模块

    time模块 在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主要调用C库,所以各个平 ...

  5. Time模块和datetime模块

    Time模块和datetime模块 一. 调用 import time       #调用time模块 二.使用方法 1.time.time 拿到时间戳.以Linux诞生年份1970年开始计算到程序执 ...

  6. 小白的Python之路 day5 configparser模块的特点和用法

    configparser模块的特点和用法 一.概述 主要用于生成和修改常见配置文件,当前模块的名称在 python 3.x 版本中变更为 configparser.在python2.x版本中为Conf ...

  7. Python常用模块:datetime

    使用前提: >>> from datetime import datetime 常见用法: 1.获取当前日期和时间 >>> now = datetime.now() ...

  8. python 时间模块(time ,datetime,calendar)

    Python中提供了时间相关的内置模块,我们主要用的是:time模块.datetime模块和calendar模块 ⽇期格式化的标准: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(00 ...

  9. Python常用模块time & datetime &random 模块

    时间模块前言 在Python中,与时间处理有关的模块就包括:time,datetime 一.在Python中,通常有这几种方式来表示时间: 时间戳 格式化的时间字符串 元组(struct_time)共 ...

随机推荐

  1. Python_12-线程编程

    1.1    Python中的线程使用1.1.1 函数式1.2    创建threading.Thread的子类来包装一个线程对象1.2.1 threading.Thread类的使用1.3    线程 ...

  2. 高性能Web服务器Nginx的配置与部署研究(2)Nginx入门级配置与部署及“Hello World”

    1. Nginx 程序包 目前最新的开发版本时1.1.12: Linux/Unix:nginx-1.1.12.tar.gz Windows:nginx-1.1.12.zip 我们可以下载稳定版尝试: ...

  3. GDB调试教程

    简介 GDB(GNU debugger)是GNU开源组织发布的一个强大的UNIX下的程序调试工具.可以使用它通过命令行的方式调试程序.它使你能在程序运行时观察程序的内部结构和内存的使用情况.你也可以使 ...

  4. [Training Video - 6] [File Reading] [Java] Read Excel File Using Apache POI API

    读取以下两种格式的Excel : *.xls  and *.xlsx 用Apache POI API来实现,需要用到 HSSF 和 XSSF 的类库 HSSF is the POI Project's ...

  5. ubuntu14.04下安装qt5

    1.sudo apt-get install build-essential 2.先打开终端快捷键ctrl+t 3. 然后输入: sudo apt-get install cmake qt5-defa ...

  6. [C#] IEnumerable vs IQueryable

    这篇博客将介绍IEnumerable和IQueryable之间的区别. 1. IQueryable是继承自IEnumerable接口的.所以IEnumerable能做的,IQueryable都能做. ...

  7. HUST软测1504班第4周小组作业成绩:WordCount优化

    说明 本次公布的成绩为第四周作业的结果: 第4周小组作业:WordCount优化 博客推荐:本次作业有一位同学完成有创意,推荐优秀博客.(优秀博客不会对成绩带来正面或者负面影响)PS:做任何创新的任务 ...

  8. Yii2 中国省市区三级联动

    1.获取源码:https://github.com/chenkby/yii2-region 2.安装 添加到你的composer.json文件 "chenkby/yii2-region&qu ...

  9. Spring框架总结(五)

    自动装配(了解) 根据名称自动装配:autowire="byName" 自动去IOC容器中找与属性名同名的引用的对象,并自动注入 延续使用user.dao.service.acti ...

  10. Thrift辅助类,用于简化Thrift编程

    CThriftServerHelper用于服务端,CThriftClientHelper用于客户端. IDL定义: service PackageManagerService { } 服务端使用示例: ...