本节介绍Python应用程序处理时间和日期的方式。其中转换日期格式是最常用的功能。

    (1)获取时间戳:

Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。

函数time.time()用于获取当前时间戳:

>>> import time
>>> tickets=time.time()
>>> print "当前时间戳是:",tickets
当前时间戳是: 1469240559.05

注意:

1.时间间隔是以秒为单位的浮点小数。

2.每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。

3.时间戳只能显示从1970年到2038年。

    (2)时间元组与获取当前时间:

很多Python函数用一个元组装起来的9组数字处理时间:

这个元祖是struct_time元组:

获取当前时间并转换为时间元组:

>>> import time
>>> tickets=time.time()
>>> print "当前时间戳为",tickets
当前时间戳为 1469241472.95
>>> localtime=time.localtime(tickets)
>>> print "本地时间",localtime
本地时间 time.struct_time(tm_year=2016, tm_mon=7, tm_mday=23, tm_hour=10, tm_min=37, tm_sec=52, tm_wday=5, tm_yday=205, tm_isdst=0)

    (3)格式化时间:

1)直接获取格式化的时间:

>>> formtime=time.asctime(time.localtime(time.time()))
>>> print "本地时间是:",formtime
本地时间是: Sat Jul 23 10:48:42 2016

2)任意获取格式化的时间:

>>> import time
>>> localtime=time.localtime(time.time())
#1.格式化为年月日 时分秒的形式
>>> print time.strftime("%Y-%m-%d %H-%M-%S",localtime)
2016-07-23 10-52-31
#2.格式化为星期 月 日 时分秒的形式
>>> print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
Sat Jul 23 10:55:59 2016
>>> print time.strftime("%a %b %d %H:%M:%S %Y",localtime)
Sat Jul 23 10:52:31 2016
#3.将已经格式化的时间元组重新变为时间戳
>>> print time.mktime(time.strptime(time.strftime("%a %b %d %H:%M:%S %Y"),"%a %b %d %H:%M:%S %Y"))
1469242747.0

Python中时间日期格式化符号:

%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

    (4)获取某月的日历:

Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历:

>>> import calendar
>>> cal=calendar.month(2016,10)
>>> print cal
October 2016
Mo Tu We Th Fr Sa Su
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

   时间模块和日期模块还有许多处理时间和转换时间的内置函数,在此不做介绍。

Python学习进程(11)日期和时间的更多相关文章

  1. python学习笔记11 ----线程、进程、协程

    进程.线程.协程的概念 进程和线程是操作系统中两个很重要的概念,对于一般的程序,可能有若干个进程,每一个进程有若干个同时执行的线程.进程是资源管理的最小单位,线程是程序执行的最小单位(线程可共享同一进 ...

  2. Python学习进程

    1周第1天 主要是变量的学习(11月8日) 1.1 python安装(win和linux下)1.2 ipython安装及使用1.3 变量的定义1.4 变量赋值1.5 运算符(赋值.算术.关系.逻辑)1 ...

  3. python笔记7:日期和时间

    Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 时间间隔是以秒为单位的浮点小数. 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示. 时间 ...

  4. Flask学习之十三 日期和时间

    英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xiii-dates-and-times 中文翻译地址: ...

  5. python获取当前的日期和时间

    import datetime import time print ("格式参数:") print (" %a 星期几的简写") print (" % ...

  6. Python之基本的日期与时间转换 datetime、 dateutil模块

    简单举例datetime模块 from datetime import timedelta,datetime a = timedelta(days=2, hours=6) b = timedelta( ...

  7. python学习笔记11 ----网络编程

    网络编程 网络编程需要知道的概念 网络体系结构就是使用这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性,并满足各种业务需求的一种粘合剂.网络体系结构解决互质性问题彩是分层方法. ...

  8. 【python】常用的日期和时间操作

    #-*- coding: utf-8 -*- import datetime #给定日期向后N天的日期 def dateadd_day(days): d1 = datetime.datetime.no ...

  9. Python学习:11.Python装饰器讲解(二)

    回顾 上一节我们进行了Python简单装饰器的讲解,但是python的装饰器还有一部分高级的使用方式,这一节就针对python装饰器高级部分进行讲解. 为一个函数添加多个装饰器 今天,老板又交给你一个 ...

随机推荐

  1. 算法之动态规划(最长递增子序列——LIS)

    最长递增子序列是动态规划中最经典的问题之一,我们从讨论这个问题开始,循序渐进的了解动态规划的相关知识要点. 在一个已知的序列 {a1, a 2,...an}中,取出若干数组成新的序列{ai1, ai ...

  2. 一步步教你搭建TinyOS2.1.2开发环境

    (本教程使用的是VirtualBOX +ubuntu14.04+tinyos2.1.2) note:看了非常多的tinyos的安装教程.区别不是非常大,无非就是安装编译器配置环境等.尽管简单,但还是有 ...

  3. virtualenv使用说明

    创建虚拟环境virtualenv [虚拟环境名称] 如:virtualenv ENV 启动虚拟环境 cd ENV source ./bin/activate 注意此时命令行会多一个(ENV),ENV为 ...

  4. virtualbox 虚拟机硬盘扩容

    转自: http://jingyan.baidu.com/article/425e69e6aeede8be14fc1675.html

  5. Pig系统分析(8)-Pig可扩展性

    本文是Pig系统分析系列中的最后一篇了,主要讨论怎样扩展Pig功能.不仅介绍Pig本身提供的UDFs扩展机制,还从架构上探讨Pig扩展可能性. 补充说明:前些天同事发现twitter推动的Pig On ...

  6. Linux网络编程(一)基础

    一.数据存储顺序:大端和小端 大端模式: 地址的增长顺序与值的增长顺序相反         小段模式: 地址的增长顺序与值的增长顺序同样 为什么会有大小端模式之分呢?这是由于在计算机系统中,我们是以字 ...

  7. asp.net 页面延时五秒,跳转到另外的页面

    asp.net 页面延时五秒,跳转到另外的页面的实现代码. --前台 <%@ Page Language="C#" AutoEventWireup="true&qu ...

  8. NDK,在JNI层使用AssetManager读取文件

    NDK,二进制文件数据读取,在JNI层,通过AAssetManager读取asset内部的资源: 需要头文件的支持 #include <android/asset_manager_jni.h&g ...

  9. UIWebView加载ANSI格式的txt文件出现乱码问题解决

    //若为txt文档    if([encodedString hasSuffix:@".txt"]){                        NSData* Data = ...

  10. java笔记十:java中的反射

    Java中,反射是一种强大的工具.它使您能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接.反射允许我们在编写与执行时,使我们的程序代码能够接入装载到JVM中的类的内部信息,而 ...