一. 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. 03.什么是Lucene全文检索的原理01

    全文检索的原理:查询速度快,精准度高,可以根据相关度进行排序.它的原理是:先把内容分词,分词之后建索引. Lucene是apache下的一个开放源代码的全文检索引擎工具包. 提供了完整的查询引擎和索引 ...

  2. centos7 安装mysql5.6.32

    1.  检查是否存在旧的mysql,执行: rpm -qa|grep -i mysql PS:若存在旧mysql,删除查询到的旧mysql,执行: rpm -e --nodeps  XXXX      ...

  3. cdoj1088-王之迷宫 (三维迷宫最短路径)【BFS】

    http://acm.uestc.edu.cn/#/problem/show/1088 王之迷宫 Time Limit: 3000/1000MS (Java/Others)     Memory Li ...

  4. 【原】Mac下统计任意文件夹中代码行数的工

    [链接][原]Mac下统计任意文件夹中代码行数的工http://www.cnblogs.com/wengzilin/p/4580646.html

  5. centos 6.5使用virtualenv指定python 2.7.x

    1. 使用现有的 python 2.6.x 安装pip rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8. ...

  6. vmware workstation环境下虚拟机固定ip的设置

    一.准备 (1)vmware workstation (2)centOS 6.5 二.配置 采用nat模式对虚拟机进行固定ip配置,nat模式相当于在windows的操作系统下构建了一个独立的内部局域 ...

  7. JVM内存区域解析

    引言 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间.有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的 ...

  8. 我不是一名UX设计师,你也不是

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具. 最近几年,用户体验这个术语开始出现.而且随着它的发展,我们也见证了用户体验设计师的崛起. 每隔几个月 ...

  9. Java Persistence with MyBatis 3(中文版) 前言

    对很多软件系统而言,保存数据到数据库和从数据库中检索数据是其工作流程中至关重要的一部分.在 Java 领域,有很多的实现了数据持久化层的工具和框架,它们每一个都有自己不同的实现方法.而 MyBatis ...

  10. 手机优秀app

    Mantano 阅读器 Aldiko   阅读器 掌阅阅读器 奇特阅读器 Gitden reader 网易蜗牛阅读