记录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. SQL2005 第一次配置没有服务器名称的问题

    问题描述:第一次启动没有服务器名称 解决方法: 1.进入 我的电脑——属性——管理——服务 找到SQL Server 右键属性 弹出下图 找到可执行文件路径 鼠标左键拖到底部 看到 -s实例名,这里的 ...

  2. 【vijos】1757 逆序对(dp)

    https://vijos.org/p/1757 有时候自己sb真的是不好说... 我竟然想了半天都没想到这个转移. 我是有多傻.... 我们设f[i][j]表示1~i的排列且逆序对恰好是j的方案数. ...

  3. 【转】SetThreadLocale解决越南文乱码问题

    转自http://hi.baidu.com/killwolf110/item/838d56224067c63395f62b70 程序需要运行在越南地区,语言为越南文,操作系统为英文版,程序支持unic ...

  4. asp.net页面触发事件panel滚动条高度不变的实现方法

    asp.net页面按钮点击触发事件后panel滚动条非自动回到顶端,每次都要往下拉一下,关于这个问题的解决方法如下 此文是为解决asp.net页面按钮点击触发事件后panel滚动条非自动回到顶端的解决 ...

  5. 直接下载jdk压缩包方式安装

    分为下面5个步骤 1.官网下载JDK 2.检查是否安装jdk,解压缩,放到指定目录 3.配置环境变量 4.设置系统默认JDK 5. 测试jdk 1.官网下载JDK      地址: http://ww ...

  6. nginx https配置+nginx跳转到万网虚拟主机

    server { listen 443 ssl; server_name www.104dh.com 104dh.com; ssl on; ssl_certificate cert104/152678 ...

  7. 8782:乘积最大(划分dp)

    8782:乘积最大   同洛谷 P1018 乘积最大 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我 ...

  8. 170228、Linux操作系统安装ELK stack日志管理系统--(1)Logstash和Filebeat的安装与使用

    安装测试环境:Ubuntu 16.04.2 LTS 前言 (1)ELK是Elasticsearch,Logstash,Kibana 开源软件的集合,对外是作为一个日志管理系统的开源方案.它可以从任何来 ...

  9. 史上最全Vim快捷键键位图 -- 入门到进阶

    文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/linux/all-vim-cheatshe ...

  10. c# public private protected internal protected internal

    一个 访问修饰符 定义了一个类成员的范围和可见性.C# 支持的访问修饰符如下所示: public:所有对象都可以访问: private:对象本身在对象内部可以访问: protected:只有该类对象及 ...