记录python处理时间的模块:time模块、datetime模块和calendar模块。

python版本:2.7

https://blog.csdn.net/songfreeman/article/details/50564504

在介绍模块之前,先说下以下几点:

1.时间通常有这几种表示方式:

  a.时间戳:通常是从1970年1月1日00:00:00开始按秒计算的偏移量,如:1488520142.802

  b.格式化的时间字符串:按指定的格式化字符来输出字符串形式的时间,如指定格式化字符为:'%Y-%m-%d %H:%M:%S',得到的时间字符串为:2017-03-03 13:51:34。格式化字符见图1.

  c.以元组的形式表示,共9个元素。具体的元素见图2.

2.通用协调时UTC(Universal Time Coordinated)与格林尼治平均时GMT(Greenwich Mean Time)一样,都与英国伦敦的本地时间相同,是世界标准时间。中国为UTC+8

    

一、time模块

主要包含的函数:

time()    ——  返回当前时间戳,浮点数形式,不接受参数。

gmtime()   ——  将时间戳转换为UTC时间,元组形式,接受一个浮点型时间戳参数,默认值为当前时间戳。

localtime()  ——  将时间戳转换为本地时间,元组形式,接受一个浮点型时间戳参数,默认值为当前时间戳。

ctime()    ——  将时间戳转换为指定的字符串形式,接受一个浮点型时间戳参数,默认值为当前时间戳。

actime()   ——  将时间元组格式转换为指定字符串形式,接受一个元组参数,默认值为localtime()返回值。

mktime()   ——  将本地时间元组转换为时间戳,接受一个元组参数,必选。

strftime()   ——  将时间元组以指定的格式转换为字符串形式,接受格式化字符串、时间元组,时间元组参数可选,默认为localtime()。

strptime()  ——  将指定格式的时间字符串解析为时间元组,接受格式化字符串、字符串形式的时间,两个参数均为必选。

sleep()    ——  延迟指定时间,接受整型、浮点型,单位为秒。

clock()    ——  在Unix系统上,返回进程时间,用秒表示的时间戳;在Windows系统上,第一次调用返回的是进程运行的实际时间,第二次之后的调用,是自第一次调用以后到现在的运行时间。

tzset()    ——  改变本地时区。(经测试该函数报错:该模块未包含该方法。具体原因尚未细究。)

(该图摘自网络,原图作者已无处可查)

常用的:

得到当前时间的格式化字符串:

将格式化字符串转换为时间戳:

二、datetime模块

除了用于获取时间,该模块对于时间的比较操作非常方便。直接上图上代码。

datetime.date.today()

datetime.datetime.now()

三、calendar模块

calendar是一个定义了一个日历类,,封装了一个月或年的日期和星期,另外,也可以展示文本日历和HTML日历的格式输出
  1. import calendar
  2. c = calendar.TextCalendar(calendar.SUNDAY)
  3. c.prmonth(2016, 1)
  4. January 2016
  5. Su Mo Tu We Th Fr Sa
  6. 1  2
  7. 3  4  5  6  7  8  9
  8. 10 11 12 13 14 15 16
  9. 17 18 19 20 21 22 23
  10. 24 25 26 27 28 29 30
  11. 31

函数及描述

1. calendar.calendar(year, w=2, l=1, c=6, m=3)

  返回一个多行字符串格式的year年年历。

2. calendar.firstweekday()

  返回当前每周起始日期的设置。默认返回0,即星期一。

3. calendar.isleap(year)

  闰年返回True,否则False。

4. calendar.leapdays(y1, y2)

  返回y1到y2之间的闰年总数,包含y1,不包含y2。

5. calendar.month(year, month, w=2, l=1)

  返回一个多行字符串格式的year年month月日历。

6. calendar.monthcalendar(year,month)

  返回一个整数的单层嵌套列表。每个子列表装载一个星期。该月之外的日期都为0,该月之内的日期设为该日的日期,从1开始。

7. calendar.monthrange(year, month)

  返回两个整数组成的元组,第一个是该月的第一天是星期几,第二个是该月的天数。(calendar.monthrange(year, month): 
  Returns weekday of first day of the month and number of days in month, for the specified year and month.——Python文档) 
  ps:此处计算星期几是按照星期一为0计算。

8. calendar.prcal(year, w=2, l=1, c=6)

  等于print calendar.calendar(year)

9. calendar.prmonth(year, month)

  同上。

10. calendar.setfirstweekday(weekday)

  设置每周起始日期码。0(星期一)到6(星期日)

11. calendar.timegm(tupletime)

  和time.gmtime相反,接收一个时间元组,返回该时刻的时间戳(计算机元年之后的秒数)

12. calendar.weekday(year, month, day)

  返回给定日期的星期码,0(星期一)到6(星期日)。

python处理时间相关的方法的更多相关文章

  1. python处理时间相关的方法(汇总)

    记录python处理时间的模块:time模块.datetime模块和calendar模块. python版本:2.7 在介绍模块之前,先说下以下几点: 1.时间通常有这几种表示方式: a.时间戳:通常 ...

  2. python 类属性与方法

    Python 类属性与方法 标签(空格分隔): Python Python的访问限制 Python支持面向对象,其对属性的权限控制通过属性名来实现,如果一个属性有双下划线开头(__),该属性就无法被外 ...

  3. Python执行系统命令的方法 os.system(),os.popen(),commands

    os.popen():用python执行shell的命令,并且返回了结果,括号中是写shell命令 Python执行系统命令的方法: https://my.oschina.net/renwofei42 ...

  4. python 调用 shell 命令方法

    python调用shell命令方法 1.os.system(cmd) 缺点:不能获取返回值 2.os.popen(cmd) 要得到命令的输出内容,只需再调用下read()或readlines()等   ...

  5. python 面向对象、特殊方法与多范式、对象的属性及与其他语言的差异

    1.python 面向对象 文章内容摘自:http://www.cnblogs.com/vamei/archive/2012/06/02/2532018.html   1.__init__() 创建对 ...

  6. python 字典内置方法get应用

    python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...

  7. [转] python程序的调试方法

    qi09 原文 python程序的调试方法 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序 源码例子 例如,有模拟税收计算的程序: #!/usr/bin/python de ...

  8. Python prettytable的使用方法

    Python prettytable的使用方法 prettytable可以整齐地输出一个表格信息: +-----------+------+------------+----------------- ...

  9. Python多线程及其使用方法

    [Python之旅]第六篇(三):Python多线程及其使用方法   python 多线程 多线程使用方法 GIL 摘要: 1.Python中的多线程     执行一个程序,即在操作系统中开启了一个进 ...

随机推荐

  1. 【BZOJ】2014: [Usaco2010 Feb]Chocolate Buying(贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2014 这应该是显然的贪心吧,先排序,然后按花费取 #include <cstdio> # ...

  2. 【问题】SUSE已经安装了libsodium,安装zeromq时出现下面的错误?

    1.[问题]SUSE已经安装了libsodium,安装zeromq时出现下面的错误? checking for libsodium... no configure: error: Package re ...

  3. 设置grid高度

    $("#jqxSalaryCalculation").jqxGrid({ height: $("#jqxTree").height() - 73 });

  4. 【Cloud Foundry】Cloud Foundry学习(四)——Service

    在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com    QQ:1494713801 Services:Cloud Foundry的Service模块从源码控制上看就 ...

  5. iOS开发之CocoaAsyncSocket学习

    本文转载至 http://blog.csdn.net/l_ch_g/article/details/17050757 AsyncSocket AsyncSocket类是支持TCP的AsyncUdpSo ...

  6. AndroidManifest.xml文件详解(activity)(四)

    android:multiprocess 这个属性用于设置Activity的实例能否被加载到与启动它的那个组件所在的进程中,如果设置为true,则可以,否则不可以.默认值是false. 通常,一个新的 ...

  7. PhoneGap 第一个程序

    首先,现在PhoneGap  ZIP包. index.html <!DOCTYPE HTML lang="zh-CN"> <html> <head&g ...

  8. Dapper的语法应用

    (1)返回某个整型或字符串类型的字段 public string GetSupplierCodeById(int Id) { using( var conn=DbFactory.CreateConne ...

  9. 通用且常用的Java正则匹配工具,用以检查邮箱名、电话号码、用户密码、邮政编码等合法性

    一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.rege ...

  10. js写css()方法,记得加引号“ ”,除非是数字

    js写css()方法,记得加引号“ ”,除非是数字.如: $("#android").css({ "position": "absolute" ...