1、时间表现形式

时间戳  (1970年1月1日之后的秒,即:time.time())
格式化的时间字符串   (2014-11-11 11:11,    即:time.strftime('%Y-%m-%d'))
元组((struct_time)共九个元素  (元组包含了:年、日、星期等... time.struct_time    即:time.localtime())

注意:时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。返回时间戳方式的函数主要有time(),clock()等。

元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。

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

2、time模块方法:help(time.time)

time.time() #获取时间戳,从1970-1-1 0:0:0到现在的秒数
time.sleep(2) #暂停2秒
time.gmtime() #时间戳转换为UTC时间,表现为元组形式
time.localtime() #时间戳转换为本地时间,表现为元组形式
time.mktime() #将元组形式的时间转换为时间戳
time.strftime("%Y-%m-%d %H:%M:%S",[,tuple]) #将元组形式的时间转化为格式化的字符串
        %Y == x.tm_year
time.strptime("2016-08-20 14:44:00","%Y-%m-%d %H:%M:%S") #将格式化的字符串转换为元组形式的时间
time.asctime() #将元组形式的时间转换为格式化的字符串
time.ctime() #将时间戳转换为格式化的字符串

  

转成元组(struct_time)形式:

#时间戳转换为元组形式的时间,如果()中没有值,则将当前时间戳转换为元组形式
print(time.localtime())
输出:
time.struct_time(tm_year=2016, tm_mon=8, tm_mday=21, tm_hour=17, tm_min=11, tm_sec=52, tm_wday=6, tm_yday=234, tm_isdst=0)

#日期字符串转成元组形式的时间
string_2_struct = time.strptime("2016/08/21","%Y/%m/%d")
print(string_2_struct)
输出:
time.struct_time(tm_year=2016, tm_mon=8, tm_mday=21, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=234, tm_isdst=-1)

注意:其实%Y == string_2_struct.tm_year,其他类似,这样我们也可以输出格式化后的字符串时间格式。
print("{year}-{month}-{day}".format(year=string_2_struct.tm_year,month=string_2_struct.tm_mon,day=string_2_struct.tm_mday))

转换成时间戳:

#将元组形式的时间转换成时间戳
print(time.mktime(time.localtime()))
输出:
1471771439.0

转换为时间的字符串格式:
#将元组形式的时间转换成字符串格式的时间,格式可自定义。
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
输出:
2016-08-21 17:28:03

#将元组形式的时间转换为字符串格式的时间,返回时间格式:"Sun Aug 21 17:39:17 2016"
print(time.asctime(time.localtime()))
输出:
Sun Aug 21 17:39:17 2016

#将时间戳转换为字符串格式的时间,返回时间格式:"Sun Aug 21 17:39:17 2016"
print(time.ctime())
输出:
Sun Aug 21 17:39:17 2016

字符串格式参照:
%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 时区的名字(如果不存在为空字符)
%% ‘%’字符

  

各个时间表现形式之间的逻辑图,如下:

3、时间模块datetime

import datetime
print(datetime.datetime.now()) #返回 2016-08-21 17:48:55.171126
print(datetime.date.fromtimestamp(time.time())) #返回2016-08-21
print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分钟

#时间替换
c_time = datetime.datetime.now()
print(c_time.replace(hour=2,minute=3)) #将c_time中的hour替换为2
输出:
2016-08-21 02:03:30.526171

python成长之路【第六篇】:python模块--time和datetime的更多相关文章

  1. (转)Python成长之路【第九篇】:Python基础之面向对象

    一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...

  2. python成长之路第三篇(1)_初识函数

    目录: 函数 为什么要使用函数 什么是函数 函数的返回值 文档化函数 函数传参数 文件操作(二) 1.文件操作的步骤 2.文件的内置方法 函数: 一.为什么要使用函数 在日常写代码中,我们会发现有很多 ...

  3. python成长之路第三篇(4)_作用域,递归,模块,内置模块(os,ConfigParser,hashlib),with文件操作

    打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.作用域 2.递归 3.模块介绍 4.内置模块-OS 5.内置模块-ConfigParser 6.内置模块-has ...

  4. python成长之路第三篇(2)_正则表达式

    打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.什么是正则表达式,python中得正则简介 2.re模块的内容 3.小练习 一.什么是正则表达式(re) 正则表 ...

  5. python成长之路第三篇(3)_内置函数及生成器迭代器

    打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.lambda表达式 2.map内置函数 3.filter内置函数 4.reduce内置函数 5.yield生成器 ...

  6. python成长之路【第九篇】:网络编程

    一.套接字 1.1.套接字套接字最初是为同一主机上的应用程序所创建,使得主机上运行的一个程序(又名一个进程)与另一个运行的程序进行通信.这就是所谓的进程间通信(Inter Process Commun ...

  7. python成长之路【第二篇】:列表和元组

    1.数据结构数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在Python中,最基本的数据结构是序列(sequence) ...

  8. python成长之路【第一篇】:python简介和入门

    一.Python简介 Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言. 二.安装python windows: 1.下载安装包 https://www.pyt ...

  9. Python成长之路【第二篇】Python基础之数据类型

    阅读目录 简介 1 什么是数据? x=10,10是我们要存储的数据 2 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3 数据类型 数字(整形,长整形,浮点型 ...

  10. Python之路(第六篇)Python全局变量与局部变量、函数多层嵌套、函数递归

    一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 全局变量没有任何缩进,在任何位置都可 ...

随机推荐

  1. C# Dictionary已知value获取对应的key

    1:循环遍历法,分为遍历key-value键值对和遍历所有key两种形式 2:使用Linq查询法 private void GetDictKeyByValue() { Dictionary<in ...

  2. DropDownList 绑定DataTable并给默认值

    string sql = @"SELECT FG_Id, FG_Name, FG_Sort, FG_IsDel FROM dbo.FirstGestation";          ...

  3. 通过 Chrome Workspace 调试本地项目(修改样式时及时保存)

    打开 DevTools 开发者工具[F12]中的 Sources 面板,在面板左侧右键选择「Add folder to workspace」,选择添加的文件夹. 添加好后,右键一个文件,选择「Map ...

  4. 有关segue的简介

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {   ViewControllerB *vc = segue ...

  5. android.util.Base64结尾加\n的问题

    测试代码,String data,String key. SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1_ ...

  6. linux 服务器对拷命令scp

    1.今天在进行linux下服务部署时由于重新部署的繁杂,所以我决定用scp命令在linux线上服务器(A)拷贝一份服务程序到现有的服务器(B)上: 具体的操作命令是:scp -r A_username ...

  7. home page

    How To Set Your Home Page Step 1 – Navigate to Settings > Reading tab. Step 2 – Select A Static P ...

  8. 深入Python(4):深拷贝和浅拷贝

    一.前奏:熟悉Python内存管理 在Python中,变量在第一次赋值时自动声明,在创建---也就是赋值的时候,解释器会根据语法和右侧的操作数来决定新对象的类型. 引用计数器:一个内部跟踪变量 引用计 ...

  9. Android的onMeasure和onLayout And MeasureSpec揭秘

    Android中自定义ViewGroup最重要的就是onMeasure和onLayout方法,都需要重写这两个方法,ViewGroup绘制 的过程是这样的:onMeasure → onLayout → ...

  10. Python之路-python(Queue队列、进程、Gevent协程、Select\Poll\Epoll异步IO与事件驱动)

    一.进程: 1.语法 2.进程间通讯 3.进程池 二.Gevent协程 三.Select\Poll\Epoll异步IO与事件驱动 一.进程: 1.语法 简单的启动线程语法 def run(name): ...