python - 日期处理模块
首先就是模块的调用,很多IDE都已经安装好了很多Python经常使用到的模块,所以我们暂时不需要安装模块了。
1
2
3
|
import datetime import time import calendar |
1.获取到此时的准确时间
1
2
|
# 获取此时的时间 print time.localtime() |
1
2
|
/ / 输出格式为: time.struct_time(tm_year = 2015 , tm_mon = 12 , tm_mday = 29 , tm_hour = 1 , tm_min = 10 , tm_sec = 25 , tm_wday = 1 , tm_yday = 363 , tm_isdst = 0 ) |
2.获取当天的日期
1
2
3
|
# 获取当天的日期 print datetime.datetime.now() print datetime.date.today() |
3.获取昨天的日期
1
2
3
4
5
6
7
8
9
10
|
# 获取昨天的日期 def getYesterday(): today = datetime.date.today() oneday = datetime.timedelta(days = 1 ) yesterday = today - oneday print type (today) # 查看获取到时间的类型 print type (yesterday) return yesterday yesterday = getYesterday() print "昨天的时间:" , yesterday |
4.获取n天以前的日期
这个应该就不用给出代码了吧,稍微想想就可以得出结果了。
5.字符串转换为时间和日期
1
2
3
4
5
6
7
|
# 字符串转换为时间 def strTodatetime(datestr, format ): return datetime.datetime.strptime(datestr, format ) print time.strftime( "%Y-%m-%d" , time.localtime()) print strTodatetime( "2014-3-1" , "%Y-%m-%d" ) print time.strftime( "%Y-%m-%d %H:%M:%S" , time.localtime()) print strTodatetime( "2005-2-16" , "%Y-%m-%d" ) - strTodatetime( "2004-12-31" , "%Y-%m-%d" ) |
输出结果:
2015-12-29
2014-03-01 00:00:00
2015-12-29 01:10:25
47 days, 0:00:00
6.获取日历相关信息
1
2
3
4
5
6
7
8
9
10
11
12
|
# 获取某个月的日历,返回字符串类型 cal = calendar.month( 2015 , 12 ) print cal calendar.setfirstweekday(calendar.SUNDAY) # 设置日历的第一天 cal = calendar.month( 2015 , 12 ) print cal # 获取一年的日历 cal = calendar.calendar( 2015 ) print cal cal = calendar.HTMLCalendar(calendar.MONDAY) print cal.formatmonth( 2015 , 12 ) |
7.calendar模块还可以处理闰年的问题
1
2
3
|
# 判断是否闰年、两个年份之间闰年的个数 print calendar.isleap( 2012 ) print calendar.leapdays( 2010 , 2015 ) |
针对Python时间模块datetime\time进行详细探讨。
转义符对应意义如下
- %a 本地简化星期名称
- %A 本地完整星期名称
- %b 本地简化的月份名称
- %B 本地完整的月份名称
- %c 本地相应的日期表示和时间表示
- %d 月内中的一天(0-31)
- %H 24小时制小时数(0-23)
- %I 12小时制小时数(01-12)
- %j 年内的一天(001-366)
- %m 月份(01-12)
- %M 分钟数(00=59)
- %p 本地A.M.或P.M.的等价符
- %S 秒(00-59)
- %U 一年中的星期数(00-53)星期天为星期的开始
- %w 星期(0-6),星期天为星期的开始
- %W 一年中的星期数(00-53)星期一为星期的开始
- %x 本地相应的日期表示
- %X 本地相应的时间表示
- %y 两位数的年份表示(00-99)
- %Y 四位数的年份表示(000-9999)
- %Z 当前时区的名称
- %% %号本身
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
import time import datetime #两日期相减 d1 = datetime.datetime( 2005 , 2 , 16 ) d2 = datetime.datetime( 2004 , 12 , 31 ) print (d1 - d2).days #运行时间: starttime = datetime.datetime.now() endtime = datetime.datetime.now() print (endtime - starttime).seconds #计算当前时间向后10天的时间。 # 如果是小时 days 换成 hours d1 = datetime.datetime.now() d3 = d1 datetime.timedelta(days = 10 ) print str (d3) print d3.ctime() time.ctime([sec]) #把秒数转换成日期格式,如果不带参数,则显示当前的时间。 >>> import time >>> time.ctime() >>> "Wed Jun 14 15:02:50 2006" >>> time.ctime( 1138068452427683 ) "Sat Dec 14 04:51:44 1901" >>> import time >>> time.strftime( "%Y-%m-%d %X" ,time.localtime()) "2011-03-15 20:42:12" >>> time.strftime( "%Y-%m-%d %H:%M:%S" ,time.localtime()) "2011-03-15 20:03:47" DateTime模块 ---------------------------- datetime 将日期转化为秒 >>> import datetime,time >>> time.mktime(datetime.datetime( 2009 , 1 , 1 ).timetuple()) 1230739200.0 >>> cc = [ 2000 , 11 , 3 , 12 , 43 , 33 ] #Attributes: year, month, day, hour, minute, second >>> time.mktime(datetime.datetime(cc[ 0 ],cc[ 1 ],cc[ 2 ],cc[ 3 ],cc[ 4 ],cc[ 5 ]).timetuple()) 973226613.0 time.time()取得当前时间; time.localtime()取得本地时间; time.strftime()格式化日期; time.strptime(timeString)把字符串转化为日期; 判断输入的日期是星期几 >>> datetime.datetime( 2011 , 02 , 15 ).weekday() 1 >>> datetime.datetime( 2011 , 02 , 15 ).weekday() 1 >>> datetime.datetime( 2011 , 02 , 16 ).weekday() 2 >>> datetime.datetime( 2011 , 02 , 17 ).weekday() 3 >>> datetime模块获取当前时间 >>> datetime.datetime.utcnow() datetime.datetime( 2011 , 3 , 15 , 13 , 19 , 32 , 264194 ) >>> datetime.datetime.utcnow().strftime( "%Y-%m-%d %H:%M:%S" ) 格式化 '2011-03-15 13:19:27' >>> |
以上就是关于Python时间模块的详细学习,希望对大家学习Python程序设计有所帮助。
python - 日期处理模块的更多相关文章
- 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...
- Python 日期时间处理模块学习笔记
来自:标点符的<Python 日期时间处理模块学习笔记> Python的时间处理模块在日常的使用中用的不是非常的多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的 ...
- python time 和日期相关模块
时间日期相关的模块 calendar 日历模块 time 时间模块 datetime 日期时间模块 timeit 时间检测模块 日历模块 calendar() 功能:获取指定年份的日历字符串 格式:c ...
- 【转】Python 日期和时间
本文转自:http://www.runoob.com/python/python-date-time.html Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Pytho ...
- python 中time模块使用
在开始之前,首先要说明这几点: 1.在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素.由于Python的time模块实现主 ...
- Python之logging模块
一.引言 之前在写一些小程序的时候想把日志内容打到文件中,所以就自己写了一个logger.py的程序,如下: #!/usr/bin/python # -*- coding=utf-8 -*- impo ...
- Python 日期和时间
Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能. Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. ...
- Shell Python 日期和时间戳的互相转换
一.初衷: 很多时候,时间的存储都是时间戳格式,如果需要展示就要转化成标准格式日期.也许会需要date和timestamp互转. 二.方法: 1.Shell下对date和timestamp的互转,是通 ...
- Python日期时间函数处理
所有日期.时间的 api 都在datetime模块内. 1 日期的格式化输出 datetime => string import datetime now = datetime.datetime ...
随机推荐
- 【JOI Camp 2015】IOIO卡片占卜——最短路
题目 [题目描述]K 理事长是占卜好手,他精通各种形式的占卜.今天,他要用正面写着 `I` ,背面写着 `O` 的卡片占卜一下日本 IOI 国家队的选手选择情况.占卜的方法如下:1. 首先,选取五个正 ...
- 洛谷P3264 [JLOI2015]管道连接(斯坦纳树)
传送门 感觉对斯坦纳树还是有很多疑惑啊…… 等到时候noip没有爆零的话再回来填坑好了 //minamoto #include<iostream> #include<cstdio&g ...
- 剑指Offer的学习笔记(C#篇)-- 替换空格
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 一 . 自己的想法 老实说,貌 ...
- 根据经纬度反向地理编译出地址信息(如果报错:Error Domain=kCLErrorDomain Code=8 "(null)")
注意:Error Domain=kCLErrorDomain Code=8 "(null)" 如果出现这个错误 一定是 经纬度有问题 一定是 经纬度有问题 一定是 经纬度有问 ...
- 将RegEx(正则表达式提取器)与JMeter一起使用
JMeter的,最流行的开源性能测试工具,可以工作正则表达式,用正则表达式提取.正则表达式是一种用于通过使用高级操作提取文本的必需部分的工具.正则表达式在测试Web应用程序时很流行,因为它们可用于验证 ...
- [Android]Android四大组件之ContentProvider
URI简介 URI(Universal Resource Identifier),又被称为"通用资源标志符". URI由许多部分所组成,示例及解说如下: Content URIs介 ...
- [Android]四大组件的运行状态
Activity的主要作用是展示一个界面并和用户交互,它扮演的是一种前台界面的角色. Service是一种计算型组件,用于在后台执行一系列计算任务.Service有两种状态:启动状态和绑定状态.启动状 ...
- Token认证登录以及权限控制
IdentityServer4实现Token认证登录以及权限控制 相关知识点 不再对IdentityServer4做相关介绍,博客园上已经有人出了相关的系列文章,不了解的可以看一下: 蟋蟀大神的: ...
- 这个匿名对象没有实现IComparable接口
https://www.cnblogs.com/felixnet/p/5193086.html https://docs.microsoft.com/zh-cn/dotnet/api/system.i ...
- 044 Wildcard Matching 通配符匹配
实现一个支持 '?' 和 '*' 的通配符匹配.'?' 匹配任何单个字符.'*' 匹配任何数量的字符 (包括0个).匹配应覆盖 整个 输入字符串(而不是部分).这个函数原型为:bool isMatch ...