• 最新消息:

    Python教程之日期和时间

    python 胡马 49浏览 0评论

    Python程序可以通过多种方式处理日期和时间。日期格式之间的转换是计算机的常见工作。Python的时间和日历模块有助于跟踪日期和时间。

    什么是Tick?

    时间间隔是以秒为单位的浮点数。特定的时间瞬间以1970年1月1日凌晨12:00(纪元)的秒数表示。

    Python中有一个流行的时间模块,它提供了处理时间和表示之间转换的功能。函数time.time()以1970年1月1日凌晨12:00(纪元)为单位返回当前系统时间。

    #!/usr/bin/python
    import time;  # This is required to include time module.
    
    ticks = time.time()
    print "Number of ticks since 12:00am, January 1, 1970:", ticks

    这会产生如下结果 –

    Number of ticks since 12:00am, January 1, 1970: 7186862.73399
    

    使用刻度线很容易进行日期算术。但是,时期之前的日期无法以此形式表示。远期未来的日期也无法用这种方式表示 – 截止点是2038年UNIX和Windows的某个时间点。

    什么是TimeTuple?

    许多Python的时间函数将时间作为9个数字的元组处理,如下所示 –

    指数领域
    04位数年份2008年
    11至12
    21至31
    3小时0到23
    4?#31181;?/td>0到59
    第二0到61(60或61是闰秒)
    6星期几0到6(0是星期一)
    7一年中的一天1至366(朱利安日)
    8夏令时-1,0,1,-1表示库确定DST

    上面的元组等同于struct_time结构。该结构具有以下属性 –

    指数属性
    0tm_year2008年
    1tm_mon1至12
    2tm_mday1至31
    3tm_hour0到23
    4tm_min0到59
    tm_sec0到61(60或61是闰秒)
    6tm_wday0到6(0是星期一)
    7tm_yday1至366(朱利安日)
    8tm_isdst的-1,0,1,-1表示库确定DST

    获取当前时间

    要将时间点从从纪元浮点值开始的秒开始转换为时间元组,请将浮点值传递给函数(例如,本地时间),该函数返回所有九个项有效的时间元组

    #!/usr/bin/python
    import time;
    
    localtime = time.localtime(time.time())
    print "Local current time :", localtime

    这将产生以下结果,可以用任何其他可呈现的形式格式化 –

    Local current time : time.struct_time(tm_year=2013, tm_mon=7, 
    tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)
    

    获得格式化时间

    您可以根据您的要求随时格式化,但是以可读格式获取时间的简单方法是asctime()

    #!/usr/bin/python
    import time;
    
    localtime = time.asctime( time.localtime(time.time()) )
    print "Local current time :", localtime

    这将产生以下结果 –

    Local current time : Tue Jan 13 10:17:09 2009
    

    获取一个月的日历

    日历模块提供了多种方法来播放年度和月度日历。在这里,我们打印给定月份的日历(2008年1月)

    #!/usr/bin/python
    import calendar
    
    cal = calendar.month(2008, 1)
    print "Here is the calendar:"
    print cal

    这将产生以下结果 –

    Here is the calendar:
       January 2008
    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中有一个流行的时间模块,它提供了处理时间和表示之间转换的功能。以下是所有可用方法的列表 –

    Sr.No.具有描述的功能
    1time.altzone本地DST时区的偏移量,以UTC为单位的秒数(如果已定义)。如果当地DST时区在UTC以东(如在西欧,包括英国),则这是否定的。只有在日光非零时才使?#20040;?#21151;能。
    2time.asctime([tupletime])接受一个时间元组并返回一个可读的24个字符的字符串,如’Tue Dec 11 18:07:14 2008’。
    3time.clock()以浮点秒数形式返回当前CPU时间。为?#30636;?#37327;不同方法的计算成本,time.clock的?#24403;萾ime.time()的值更有用。
    4time.ctime([秒])像asctime(localtime(secs))和没有参数就像asctime()
    5time.gmtime([秒])接受自纪元以来以秒为单位表示的瞬间,并返回UTC时间的时间元组t。注意:t.tm_isdst始终为0
    6time.localtime([秒])接受自纪元以来以秒为单位表示的瞬间,并返回具有本地时间的时间元组t(t.tm_isdst为0或1,具体取决于DST是否适用于本地规则的即时秒)。
    7time.mktime(tupletime)接受在本地时间表示为时间元组的瞬间,并返回浮点值,其中以从纪元开始的秒数表示。
    8time.sleep(秒)暂停调用线程秒秒。
    9time.strftime(FMT [,tupletime])接受在本地时间表示为时间元组的瞬间,并返回表示字符串fmt指定的瞬间的字符串。
    10time.strptime(str,fmt =’%a%b%d%H?#28023;?#28023;%Y’)根据格式字符串fmt解析str并以时间元组格式返回瞬时。
    11time.time()返回当前时刻,即自纪元以来的浮点秒数。
    12time.tzset()重置库例程使用的时间转换规则。环境变量TZ指定了如何完成?#30636;?#20316;。

    让我们简要介绍一下这些功能 –

    时间模块有以下两个重要属性 –

    Sr.No.带描述的属性
    1time.timezone属性time.timezone是UTC的本地时区(没有DST)的偏移量(在?#20048;?gt; 0;在?#20998;蓿?#20122;洲,非洲的大部分地区<= 0)。
    2time.tzname属性time.tzname是一对?#35272;?#20110;语言环境的字符串,它们分别是没有和有DST的本地时区的名称。

    日历模块

    日历模块提供与日历相关的功能,包括打印给定月份或年份的文本日历的功能。

    默认情况下,日历将星期一视为一周的第一天,将星期日视为最后一天。要更改此设置,请调用calendar.setfirstweekday()函数。

    以下是日历模块可用的功能列表-

    Sr.No.具有描述的功能
    1calendar.calendar(年,W = 2,L = 1,C = 6)返回一个多行字符串,其中包含年份日历,格式化为由c空格分隔的三?#23567;是每个日期的字符宽度; 每行的长度为21 * w + 18 + 2 * c。l是每周的行数。
    2calendar.firstweekday()返回每周开始的工作日的当前设置。默认情况下,首次导入日历时,此值为0,表示星期一。
    3calendar.isleap(年)如果年份是闰年,则返回True; 否则,错误。
    4calendar.leapdays(Y1,Y2)返回范围(y1,y2)内年份中的闰天总数。
    的Calendar.MONTH(年,月,W = 2,L = 1)返回一个多行字符串,其中包含一年中月份的日历,每周一行以及两个标题行。w是每个日期的字符宽度; 每行的长度为7 * w + 6。l是每周的行数。
    6calendar.monthcalendar(年,月)返回整数列表的列表。每个子列表表示一周。一年中月外的天数设为0; 这个月内的日期设置为他们的日期,1日及以上。
    7calendar.monthrange(年,月)返回两个整数。第一个是年中第一天的工作日代码; 第二个是该月的天数。工作日代码为0(星期一)至6(星期日); 月数是1到12。
    8calendar.prcal(年,W = 2,L = 1,C = 6)?#19981;?#25171;印calendar.calendar(年,w,l,c)。
    9calendar.prmonth(年,月,W = 2,L = 1)像打印calendar.month(年,月,w,l)。
    10calendar.setfirstweekday(平日)将每周的第一天设置为工作日代码工作日。工作日代码为0(星期一)至6(星期日)。
    11calendar.timegm(tupletime)time.gmtime的倒数:接受时间元组形式的时刻,并返回与纪元以来的浮点秒数相同的时刻。
    12calendar.weekday(年,月,日)返回给定日期的工作日代码。工作日代码为0(星期一)至6(星期日); 月数是1(1月)到12(12月)。

    其他模块和功能

    如果您有兴趣,那么您可以在这里找到其他重要的模块和函数列表,以便在Python中使用日期和时间 –

    转载请注明:胡马部落 » Python教程之日期和时间

    发表我的评论
    取消评论
    表情

    Hi,您需要填写昵称和邮箱!

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址
    内蒙古11选5开奖结果