python(4)-- 日期 & 时间
1. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
2. 时间间隔是以秒为单位的浮点小数。
3. 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。
4. Python 的 time 模块下有很多函数可以转换常见日期格式。如函数time.time()用于获取当前时间戳, eg:
#!/usr/bin/python # -*- coding: UTF- -*- import time; # 引入time模块 ticks = time.time() print "当前时间戳为:", ticks 以上实例输出结果: 当前时间戳为: 1459994552.51
5. 时间元组(struct_time元组),属性:

6. 实用:时间格式<-->时间戳
(1)获取当前时间--只要将浮点数传递给 localtime 之类的函数,即从返回浮点数的时间辍方式转成 时间元组,eg:
获取本地时间(时间元组格式):localtime = time.localtime(time.time()) ---
结果: time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0)
(2)获取格式化的时间:你可以根据需求选取各种格式。
(3)格式化/转换日期:我们可以使用 time 模块的 strftime 方法来格式化日期:time.strftime(format[, t]),eg:
#!/usr/bin/python # -*- coding: UTF- -*- # 格式化 eg1:格式化成 2016-04-07 10:25:09
eg2: import time a = "2013-10-10 23:40:00" print int(time.mktime(time.strptime(a,# 将 时间戳 转换为 指定格式日期:
eg1: import time timeStamp = 1381419600 print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timeStamp)) # 结果:"2013-10-10 23:40:00"eg2: import datetime timeStamp = 1381419600 dateArray = datetime.datetime.utcfromtimestamp(timeStamp) print dateArray.strftime("%Y-%m-%d %H:%M:%S") # 结果:"2013-10-10 23:40:00"
# 字符串格式更改:如 a = "2013-10-10 23:40:00", 想改为 a = "2013/10/10 23:40:00"eg: import time a ="2013-10-10 23:40:00" print time.strftime("%Y/%m/%d %H:%M:%S", time.strptime(a, "%Y-%m-%d %H:%M:%S")); # 结果:"2013/10/10 23:40:00"
# 获取 当前时间 并转换为 指定日期格式:eg1: import time now = int(time.time()) # 获得当前时间时间戳 timeArray = time.localtime(now) print time.strftime("%Y-%m-%d %H:%M:%S", timeArray) # 结果:"2013-10-10 23:40:00"
eg2: import datetime now = datetime.datetime.now() # 获得时间数组格式 print now.strftime("%Y/%m/%d %H:%M:%S") # 结果:"2013/10/10 23:40:00"
# 获取 3天前的时间:datetime.timedelta([days, hours, seconds, microseconds = ..])eg:import time import datetime threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3)) # 线获得时间数组格式的日期 # timeStamp = int(time.mktime(threeDayAgo.timetuple())) # 转换为时间戳 print threeDayAgo.strftime("%Y-%m-%d %H:%M:%S") # 结果:"2013-10-10 23:40:00" # 注:timedelta()的参数有:days,hours,seconds,microseconds
# 给定时间戳,计算该时间的几天前时间:eg:timeStamp = 1381419600 import datetime import time dateArray = datetime.datetime.utcfromtimestamp(timeStamp) print (dateArray - datetime.timedelta(days = 3)) # 结果:"2013-10-07 15:40:00"
此外:python中时间日期格式化符号:
%y 两位数的年份表示(-) %Y 四位数的年份表示(-) %m 月份(-) %d 月内中的一天(-) %H 24小时制小时数(-) %I 12小时制小时数(-) %M 分钟数(=) %S 秒(-) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(-) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(-)星期天为星期的开始 %w 星期(-),星期天为星期的开始 %W 一年中的星期数(-)星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示 %Z 当前时区的名称 %% %号本身
(4) 获取某月日历:Calendar 模块有很广泛的方法用来处理年历和月历,eg:打印某月的月历
#!/usr/bin/python
# -*- coding: UTF- -*-
import calendar
cal = calendar.month(, )
print "以下输出2016年1月份的日历:"
print cal;
以上实例输出结果:
以下输出2016年1月份的日历:
January
Mo Tu We Th Fr Sa Su
7 Time 模块/日历(Calender)模块
7.1 Time 模块:包含了以下内置函数,既有时间处理相的,也有转换时间格式的:


7.2 日历(Calender)模块:此模块的函数都是日历相关的,例如打印某月的字符月历。
星期一是默认的每周第一天,星期天是默认的最后一天。更改设置需调用calendar.setfirstweekday()函数。模块包含了以下内置函数:

其他相关模块和函数
在Python中,其他处理日期和时间的模块还有:
python(4)-- 日期 & 时间的更多相关文章
- Python学习---日期时间
在Python里面日期时间的功能主要由几个模块提供:time,calendar,datetime,date等 time主要用到的功能函数: #!/usr/bin/python3 # coding:ut ...
- Python实用日期时间处理方法汇总
这篇文章主要介绍了Python实用日期时间处理方法汇总,本文讲解了获取当前datetime.获取当天date.获取明天/前N天.获取当天开始和结束时间(00:00:00 23:59:59).获取两个d ...
- 程序员常用6 个 Python 的日期时间库
内建的 datetime 模块 在跳转到其他库之前,让我们回顾一下如何使用 datetime 模块将日期字符串转换为 Python datetime 对象. 假设我们从 API 接受到一个日期字符串, ...
- Python基础 | 日期时间操作
目录 获取时间 时间映射 格式转换 字符串转日期 日期转字符串 unixtime 时间计算 时间偏移 时间差 "日期时间数据"作为三大基础数据类型之一,在数据分析中会经常遇到. 本 ...
- Python数值日期时间笔记
数值: 格式化 小数位的处理 随机数: random.choice() 序列中随机选择一个值 random.sample() 获取指定数目的序列 random.shuffle() 打乱顺序 rando ...
- [ Python入门教程 ] Python中日期时间datetime模块使用实例
Python中datetime模块提供强大易用的日期处理功能,用于记录程序操作或修改时间.时间计算.日志时间显示等功能.datatime模块重新封装了time模块,提供的类包括date.time.da ...
- python 之日期时间处理
##python时间操作一般使用time.datetime两个模块 对于time模块,时间的表示模式有3种1.时间戳:time.time()2.字符串: time.strftime('%Y%m%d') ...
- Python中日期时间案例演示
案例:准备10个人姓名,然后为这10个人随机生成生日[都是90后] 1.统计出那些人是夏季[6月-8月]出生的. 2.最大的比最小的大多少天 3.谁的生日最早,谁的生日最晚 备注:春季[3-5]夏季[ ...
- python输出日期时间
import datetime base = datetime.datetime.today() , ): print(base + datetime.timedelta(days=x))
- Python中对时间日期的处理方法简单汇总
这篇文章主要介绍了Python实用日期时间处理方法汇总,本文讲解了获取当前datetime.获取当天date.获取明天/前N天.获取当天开始和结束时间(00:00:00 23:59:59).获取两个d ...
随机推荐
- node第一天
一.主要执行的文件命名一般为main.js var aModule =require('./a.js');//相对路径 var aModule =require('a.js');//专门从node_m ...
- STL笔记(に)--vector容器
Vector 1.可变长的动态数组 2.需包含头文件#include<vector> (当然,如果用了万能头文件#include<bits/stdc++.h>则可忽略) 3.支 ...
- pthread_cancel函数注意事项
/************************************************** 相关函数: #include <pthread.h> int pthread_can ...
- 【CodeBase】PHP检查未知媒体文件的格式
用法: <?php $filefullpath="F:/test/2awd45wr1e5fef5e5"; echo Format::check($filefullpath,[ ...
- JZOJ 3385. 【NOIP2013模拟】黑魔法师之门
3385. [NOIP2013模拟]黑魔法师之门 (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB Detailed Limi ...
- Roads in the North POJ - 2631
Roads in the North POJ - 2631 Building and maintaining roads among communities in the far North is a ...
- 【Todo】 cygwin下emacs中M-x shell 中出现乱码
- 信号量和互斥量C语言示例理解线程同步
Table of Contents 1. 线程同步 1.1. 用信号量进行同步 1.2. 用互斥量进行同步 2. 参考资料 线程同步 了解线程信号量的基础知识,对深入理解python的线程会大有帮助. ...
- 给B公司的一些建议(又一篇烂尾的文章)
感慨:太多太多的悲伤故事,发生在自己身上,发生在自己的身边.因此,为了避免总是走"弯路",走"错误"的道路,最近一直在完善自己的理论模型. 烂尾说明:本文是一篇 ...
- Go语言之并发编程(三)
Telnet回音服务器 Telnet协议是TCP/IP协议族中的一种.它允许用户(Telnet客户端)通过一个协商过程与一个远程设备进行通信.本例将使用一部分Telnet协议与服务器进行通信. 服务器 ...