上一章Python教程请查看:python字典dictionary类型用法及其操作函数
Python程序可以以多种方式处理日期和时间,在日期格式之间进行转换是计算机的常见任,Python的时间和日历模块帮助跟踪日期和时间。
1、计算时间滴答数时间间隔是浮点数,以秒为单位,从1970年1月1日凌晨12点(纪元)开始,时间上的特定瞬间用秒表示。
Python中有一个流行的时间模块,它提供了处理时间和在表示之间进行转换的函数,time()函数返回自1970年1月1日(epoch)凌晨12点起的当前系统时间。
#!/usr/bin/python
import time;
# 这需要包含时间模块。ticks = time.time()
print "自1970年1月1日凌晨12点以来的滴答次数:", ticks
日期运算很容易用刻度表示,但是纪元之前的日期不能用这种形式表示,远将来的日期也不能用这种方式表示——UNIX和Windows的截止时间是2038年。
2、时间元组Python的许多时间函数将时间处理为9个数字的元组,如下所示:
索引 | 属性 | 值 |
0 | 4个数字的年份 | 2008 |
1 | 月 | 1到12 |
2 | 天 | 1到31 |
3 | 小时 | 0到23 |
4 | 分钟 | 0到59 |
5 | 秒 | 0到61 (60或61是跳跃秒) |
6 | 天的周 | 0到6 (0是星期一) |
7 | 年里的一天 | 1到366 |
8 | 夏令时 | – 1,0,1, -1表示库决定DST |
索引 | 属性 | 值 |
0 | tm_year | 2008 |
1 | tm_mon | 1到12 |
2 | tm_mday | 1到31 |
3 | tm_hour | 0到23 |
4 | tm_min | 0到59 |
5 | tm_sec | 0到61 |
6 | tm_wday | 0到6 (0为星期一) |
7 | tm_yday | 1到366 |
8 | tm_isdst | – 1,0,1, -1表示库决定DST |
#!/usr/bin/python
import time;
localtime = time.localtime(time.time())
print "Local current time :", localtime
4、获取格式化的时间你可以根据你的需求格式化任何时间,但是以可读格式获得时间的简单方法是asctime()?
#!/usr/bin/python
import time;
localtime = time.asctime( time.localtime(time.time()) )
print "Local current time :", localtime
5、获取一个月的日历日历模块提供了各种方法来处理年历和月历,在这里我们打印一个特定月份(2008年1月)的日历:
#!/usr/bin/python
import calendarcal = calendar.month(2008, 1)
print "日历:"
print cal
6、时间模块Python中有一个流行的时间模块,它提供处理时间和在表示之间转换的函数。这里列出了所有可用的方法
编号 | 函数和描述 |
1 | time.altzone 本地DST时区的偏移,在UTC以西以秒为单位,如果定义了偏移的话。如果当地的DST时区在UTC以东(如西欧,包括英国),则为负。只在日光非零时使用。 |
2 | time.asctime([tupletime]) 接受一个时间元组并返回一个可读的24个字符的字符串,如“Tue Dec 11 18:07:14 2008”。 |
3 | time.clock( ) 以浮点数(秒)返回当前CPU时间。衡量计算成本的不同方法,时间的价值。时钟比时间更有用。 |
4 | time.ctime([secs]) 比如asctime(localtime(secs)),没有参数就像asctime() |
5 | time.gmtime([secs]) 接受从纪元开始以秒为单位表示的瞬间,并返回一个带有UTC时间的时间元组t。注:t。tm_isdst总是0 |
6 | time.localtime([secs]) 接受自纪元以来以秒为单位表示的瞬间,并返回一个包含本地时间(t)的时间元组t。tm_isdst是0还是1,取决于DST是否根据本地规则应用于瞬间秒)。 |
7 | time.mktime(tupletime) 接受以本地时间表示的时间元组的瞬时值,并返回自epoch以来以秒表示的瞬时值的浮点值。 |
8 | time.sleep(secs) 挂起调用时间为秒的线程。 |
9 | time.strftime(fmt[,tupletime]) 接受在本地时间中表示为时间元组的瞬时值,并返回由字符串fmt指定的表示瞬时值的字符串。 |
10 | time.strptime(str,fmt=’ %a %b %d %H:%M:%S %Y’ ) 根据格式字符串fmt解析str,并以时间元组格式返回瞬时值。 |
11 | time.time( ) 返回当前时间瞬间,这是自epoch以来的浮点秒数。 |
12 | time.tzset() 重置库例程使用的时间转换规则。环境变量TZ指定这是如何完成的。 |
时间模块有以下两个重要的特性
编号 | 属性和描述 |
1 | time.timezone 时间属性。时区是指从UTC(美洲的> )到当地时区(不包括DST)的秒数偏移量; < =0在大多数欧洲,亚洲,非洲)。 |
2 | time.tzname tzname是一对与地区相关的字符串,它们分别是没有DST和有DST的本地时区的名称。 |
默认情况下,日历以周一为一周的第一天,以周日为最后一天。要改变这一点,请调用calendar.setfirstweekday()函数。
下面是calendar模块提供的函数列表
编号 | 方法和说明 |
1 | calendar.calendar(year,w=2,l=1,c=6) 返回一个多行字符串,该字符串带有一个year year格式的日历,该日历被格式化为三列,用c空格分隔。w是每个日期的字符宽度; 每一行的长度是21*w+18+2*c。l是每周的行数。 |
2 | calendar.firstweekday( ) 返回每周开始的工作日的当前设置。默认情况下,首次导入日历时,这是0,表示星期一。 |
3 | calendar.isleap(year) 如果年份是闰年,返回True; 否则false。 |
4 | calendar.leapdays(y1,y2) 返回范围内年份的闰日总数(y1,y2)。 |
5 | calendar.month(year,month,w=2,l=1) 返回一个多行字符串,其中包含一个日历,表示某年的某月,每周一行加上两行标题行。w是每个日期的字符宽度; 每一行的长度是7*w+6。l是每周的行数。 |
6 | calendar.monthcalendar(year,month) 返回一个int列表的列表。每个子列表表示一个星期。年月日为0; 年月日为0; 一个月中的天数被设置为每个月的第一天或以上。 |
7 | calendar.monthrange(year,month) 返回两个整数。第一个是年月日的工作日代码; 第二个是一个月的天数。平日代码为0(星期一)至6(星期日); 月数是1到12。 |
8 | calendar.prcal(year,w=2,l=1,c=6) 类似打印calendar.calendar (w, l, c)。 |
9 | calendar.prmonth(year,month,w=2,l=1) 类似calendar.month(year,month,w,l). |
10 | calendar.setfirstweekday(weekday) 设置每周的第一天到工作日代码工作日。平日代码是0(星期一)到6(星期日)。 |
11 | calendar.timegm(tupletime) 时间的倒数。gmtime:接受时间元组形式的时间瞬间,并返回与自epoch以来的浮点秒数相同的瞬间。 |
12 | calendar.weekday(year,month,day) 返回给定日期的工作日代码。平日代码为0(星期一)至6(星期日); 月数是1(1月)到12(12月)。 |
- datetime模块
- pytz模块
- dateutil模块
推荐阅读
- python函数定义和操作详解介绍 – Python入门开发教程
- python字典dictionary类型用法及其操作函数 – Python入门开发教程
- ColorUi|使用ColorUI组件
- python元组tuple类型用法及其操作函数 – Python入门开发教程
- python列表list类型用法及其操作函数 – Python入门开发教程
- python字符串类型用法及其操作函数 – Python入门开发教程
- python数值类型用法及其操作函数 – Python入门开发教程
- python循环语句和循环控制语句用法- Python入门开发教程
- python条件语句用法学习总结- Python入门开发教程