python成长之路【第六篇】:python模块--time和datetime
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的更多相关文章
- (转)Python成长之路【第九篇】:Python基础之面向对象
一.三大编程范式 正本清源一:有人说,函数式编程就是用函数编程-->错误1 编程范式即编程的方法论,标识一种编程风格 大家学习了基本的Python语法后,大家就可以写Python代码了,然后每个 ...
- python成长之路第三篇(1)_初识函数
目录: 函数 为什么要使用函数 什么是函数 函数的返回值 文档化函数 函数传参数 文件操作(二) 1.文件操作的步骤 2.文件的内置方法 函数: 一.为什么要使用函数 在日常写代码中,我们会发现有很多 ...
- python成长之路第三篇(4)_作用域,递归,模块,内置模块(os,ConfigParser,hashlib),with文件操作
打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.作用域 2.递归 3.模块介绍 4.内置模块-OS 5.内置模块-ConfigParser 6.内置模块-has ...
- python成长之路第三篇(2)_正则表达式
打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.什么是正则表达式,python中得正则简介 2.re模块的内容 3.小练习 一.什么是正则表达式(re) 正则表 ...
- python成长之路第三篇(3)_内置函数及生成器迭代器
打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.lambda表达式 2.map内置函数 3.filter内置函数 4.reduce内置函数 5.yield生成器 ...
- python成长之路【第九篇】:网络编程
一.套接字 1.1.套接字套接字最初是为同一主机上的应用程序所创建,使得主机上运行的一个程序(又名一个进程)与另一个运行的程序进行通信.这就是所谓的进程间通信(Inter Process Commun ...
- python成长之路【第二篇】:列表和元组
1.数据结构数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在Python中,最基本的数据结构是序列(sequence) ...
- python成长之路【第一篇】:python简介和入门
一.Python简介 Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言. 二.安装python windows: 1.下载安装包 https://www.pyt ...
- Python成长之路【第二篇】Python基础之数据类型
阅读目录 简介 1 什么是数据? x=10,10是我们要存储的数据 2 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3 数据类型 数字(整形,长整形,浮点型 ...
- Python之路(第六篇)Python全局变量与局部变量、函数多层嵌套、函数递归
一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 全局变量没有任何缩进,在任何位置都可 ...
随机推荐
- 一个支持FMX.Win框架的托盘控件
不多说了 直接上代码........有任何问题请给我邮件.... // **************************************************************** ...
- 问题 “No mapping found for HTTP request with URI [/rbiz4/uploadFile.html]” 的解决
从以前的SpringMVC项目简化一下做个例子,结果出现了下面的错误: No mapping found for HTTP request with URI [/rbiz4/uploadFile.ht ...
- Velocity模板引擎语法
Velocity 模板引擎介绍 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java ...
- web server && web framework角色区分
问题 web framework是否包括webserver? 是否可以包括? webserver 和 framework的关系是? https://www.quora.com/What-is-the- ...
- php随机数、时间、字符串函数,正则,数组函数
<?php//1.随机数和时间//echo rand(); //随机数生成器//echo rand(0,10); //生成某个范围内的随机数 //echo time(); //取当前时间戳//e ...
- 自动化环境robot framework安装中问题解决
在搭建自动化环境的时候需要安装以下程序:
- Leetcode: Repeated Substring Pattern
Given a non-empty string check if it can be constructed by taking a substring of it and appending mu ...
- 移动端开发tips
为什么使用touch click有300sm的延迟 touch支持多点触摸 手势操作
- C 语言中的指针和内存泄漏
引言对于任何使用 C 语言的人,如果问他们 C 语言的最大烦恼是什么,其中许多人可能会回答说是指针和内存泄漏.这些的确是消耗了开发人员大多数调试时间的事项.指针和内存泄漏对某些开发人员来说似乎令人畏惧 ...
- 更新数据前jquery如何填充数据到表单域中
$("#p_city option[value='${project.city}']").attr("selected","selected" ...