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. spring和mybatis集成,自动生成model、mapper,增加mybatis分页功能

    软件简介 Spring是一个流行的控制反转(IoC)和面向切面(AOP)的容器框架,在java webapp开发中使用广泛.http://projects.spring.io/spring-frame ...

  2. apk反编译、smali修改、回编译笔记

    最近下了一个apk程序,但是一启动会弹出一个流氓广告.这个广告不是原厂商加的,而是有人在原有apk程序的基础上,加了一个壳,让apk先启动他加的广告,再启动原来的程序,很恶心.于是想去掉它. 试了几个 ...

  3. css3超过指定宽度文字,显示省略号

    text-overflow:ellipsis; overflow:hidden; white-space:nowrap; width:200px;

  4. java中遍历集合的三种方式

    第一种遍历集合的方式:将集合变为数组 package com.lw.List; import java.util.ArrayList; import java.util.List; import ja ...

  5. ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式

    方式一: 数据存储模型Model:此方式未用到数据存储模型Model,仅简单的字符串string型数据传递 前台接收显示数据视图View: <div style="height:300 ...

  6. 去bom头

    function rewrite ($filename, $data) { $filenum = fopen($filename, "w"); flock($filenum, LO ...

  7. tcpdump教程入门

    tcpdump是一个最基本重要的网络分析工具, 掌握好这, 对于学习tcp/ip协议也是很有帮助的. 理解了tcp/ip协议栈的知识, 分析调优网络的能力才会更高. 所以使用tcpdump相比其它的工 ...

  8. lua OOP实现对象的链式调用

    数学中的链式法则 http://sx.zxxk.com/ArticleInfo.aspx?InfoID=164649 链式微分法则:实数运算的链式法则:对数运算的链式法则:平行公理的链式法则:向量运算 ...

  9. APP定制开发:APP软件开发的语言和开发环境

    APP软件开发是移动互联网开发公司常开发的一种手机应用系统,对于刚刚进入APP软件开发领域的新手来说,选择什么编程语言和需要什么开发环境来开发APP软件是常遇到的问题.下面亿合科技小编来为大家分享下: ...

  10. in-list iterator

    in-list iterator --针对目标sql的in后面是常量集合的首选项处理方法,其处理效率通常都会比in-list expansion高--使用in-list iterator的时候,in所 ...