nanyu

time datetime 总结

Python time altzone()方法


描述

Python time altzone() 函数返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。对夏令时启用地区才能使用。

返回值

返回格林威治西部的夏令时地区的偏移秒数。如果该地区在格林威治东部会返回负值(如西欧,包括英国)。

实例

以下实例展示了 altzone()函数的使用方法:

#!/usr/bin/python
import time

print "time.altzone %d " % time.altzone

以上实例输出结果为:

time.altzone() 25200

Python time asctime()方法


描述

Python time asctime() 函数接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。

参数

  • t -- 9个元素的元组或者通过函数 gmtime() 或 localtime() 返回的时间值。

返回值

返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。

实例

以下实例展示了 asctime()函数的使用方法:

#!/usr/bin/python
import time

t = time.localtime()
print "time.asctime(t): %s " % time.asctime(t)

以上实例输出结果为:

time.asctime(t): Tue Feb 17 09:42:58 2009

Python time clock()方法


描述

Python time clock() 函数以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。

这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)

返回值

该函数有两个功能,

在第一次调用的时候,返回的是程序运行的实际时间;

以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔

在win32系统下,这个函数返回的是真实时间(wall time),而在Unix/Linux下返回的是CPU时间。

实例

以下实例展示了 clock()函数的使用方法:

#!/usr/bin/python
import time

def procedure():
    time.sleep(2.5)

# measure process time
t0 = time.clock()
procedure()
print time.clock() - t0, "seconds process time"

# measure wall time
t0 = time.time()
procedure()
print time.time() - t0, "seconds wall time"

以上实例输出结果为:

0.0 seconds process time
2.50023603439 seconds wall time

Python time ctime()方法


描述

Python time ctime() 函数把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。 如果参数未给或者为None的时候,将会默认time.time()为参数。它的作用相当于 asctime(localtime(secs))。

参数

  • sec -- 要转换为字符串时间的秒数。

返回值

该函数没有任何返回值。

实例

以下实例展示了 ctime() 函数的使用方法:

#!/usr/bin/python
import time

print "time.ctime() : %s" % time.ctime()

以上实例输出结果为:

time.ctime() : Tue Feb 17 10:00:18 2013

Python time gmtime()方法


描述

Python time gmtime() 函数将一个时间戳转换为UTC时区(0时区)的struct_time,可选的参数sec表示从1970-1-1以来的秒数。其默认值为time.time(),函数返回time.struct_time类型的对象。(struct_time是在time模块中定义的表示时间的对象)。

语法

gmtime()方法语法:

time.gmtime([ sec ])

参数

  • sec -- 转换为time.struct_time类型的对象的秒数。

返回值

该函数没有任何返回值。

实例

以下实例展示了 gmtime() 函数的使用方法:

#!/usr/bin/python
import time

print "time.gmtime() : %s" % time.gmtime()

以上实例输出结果为:

time.gmtime() : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=2, tm_min=55, tm_sec=45, tm_wday=3, tm_yday=98, tm_isdst=0)

Python time localtime()方法


描述

Python time localtime() 函数类似gmtime(),作用是格式化时间戳为本地的时间。 如果sec参数未输入,则以当前时间为转换标准。 DST (Daylight Savings Time) flag (-1, 0 or 1) 是否是夏令时。

语法

localtime()方法语法:

time.localtime([ sec ])

参数

  • sec -- 转换为time.struct_time类型的对象的秒数。

返回值

该函数没有任何返回值。

实例

以下实例展示了 localtime() 函数的使用方法:

实例

#!/usr/bin/python import time print "time.localtime() : %s" % time.localtime()

以上实例输出结果为:

time.localtime() : time.struct_time(tm_year=2016, tm_mon=11, tm_mday=27, tm_hour=10, tm_min=26, tm_sec=5, tm_wday=6, tm_yday=332, tm_isdst=0)

Python time mktime()方法


描述

Python time mktime() 函数执行与gmtime(), localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数来表示时间的浮点数。

如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError。

语法

mktime()方法语法:

time.mktime(t)

参数

  • t -- 结构化的时间或者完整的9位元组元素。

返回值

返回用秒数来表示时间的浮点数。

实例

以下实例展示了 mktime() 函数的使用方法:

#!/usr/bin/python
import time

t = (2009, 2, 17, 17, 3, 38, 1, 48, 0)
secs = time.mktime( t )
print "time.mktime(t) : %f" %  secs
print "asctime(localtime(secs)): %s" % time.asctime(time.localtime(secs))

以上实例输出结果为:

time.mktime(t) : 1234915418.000000
asctime(localtime(secs)): Tue Feb 17 17:03:38 2009

Python time sleep()方法


描述

Python time sleep() 函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。

语法

sleep()方法语法:

time.sleep(t)

参数

  • t -- 推迟执行的秒数。

返回值

该函数没有返回值。

实例

以下实例展示了 sleep() 函数的使用方法:

实例

#!/usr/bin/python import time print "Start : %s" % time.ctime() time.sleep( 5 ) print "End : %s" % time.ctime()

以上实例输出结果为:

Start : Tue Feb 17 10:19:18 2013
End : Tue Feb 17 10:19:23 2013

Python time strftime()方法


描述

Python time strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定。

语法

strftime()方法语法:

time.strftime(format[, t])

参数

  • format -- 格式字符串。
  • t -- 可选的参数t是一个struct_time对象。

返回值

返回以可读字符串表示的当地时间。

说明

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 当前时区的名称
  • %% %号本身

实例

以下实例展示了 strftime() 函数的使用方法:

#!/usr/bin/python
import time

t = (2009, 2, 17, 17, 3, 38, 1, 48, 0)
t = time.mktime(t)
print time.strftime("%b %d %Y %H:%M:%S", time.gmtime(t))

以上实例输出结果为:

Feb 17 2009 09:03:38

Python time strptime()方法


描述

Python time strptime() 函数根据指定的格式把一个时间字符串解析为时间元组。

语法

strptime()方法语法:

time.strptime(string[, format])

参数

  • string -- 时间字符串。
  • format -- 格式化字符串。

返回值

返回struct_time对象。

说明

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 当前时区的名称
  • %% %号本身

实例

以下实例展示了 strptime() 函数的使用方法:

实例(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- import time struct_time = time.strptime("30 Nov 00", "%d %b %y") print "返回的元组: %s " % struct_time

以上实例输出结果为:

返回的元组: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1) 

Python time time()方法


描述

Python time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数)。

语法

time()方法语法:

time.time()

返回当前时间的时间戳(1970纪元后经过的浮点秒数)。

实例

以下实例展示了 time() 函数的使用方法:

#!/usr/bin/python
import time

print "time.time(): %f " %  time.time()
print time.localtime( time.time() )
print time.asctime( time.localtime(time.time()) )

以上实例输出结果为:

time.time(): 1234892919.655932
(2009, 2, 17, 10, 48, 39, 1, 48, 0)
Tue Feb 17 10:48:39 2009
 

1 篇笔记 

  1. 利用time.time()方法,我们可以计算两个时间点之间的间隔,但是有些时候我们想要得到当前的年月日这些信息,那么在python中该怎么做呢?方法如下:

    >>> import time()
    >>> print time.time()
    1518068251.33
    >>> time = time.localtime(time.time())
    >>> print time
    time.struct_time(tm_year=2018, tm_mon=2, tm_mday=8, tm_hour=13, tm_min=37, tm_sec=31, tm_wday=3, tm_yday=39, tm_isdst=0)
    >>> print time.tm_year
    2018
    >>> print time.tm_mon
    2

    Python time tzset()方法


    描述

    Python time tzset() 根据环境变量TZ重新初始化时间相关设置。

    标准TZ环境变量格式:

    std offset [dst [offset [,start[/time], end[/time]]]]

    参数

    • std 和 dst:三个或者多个时间的缩写字母。传递给 time.tzname.
    • offset: 距UTC的偏移,格式: [+|-]hh[:mm[:ss]] {h=0-23, m/s=0-59}。
    • start[/time], end[/time]: DST 开始生效时的日期。格式为 m.w.d — 代表日期的月份、周数和日期。w=1 指月份中的第一周,而 w=5 指月份的最后一周。\'start\' 和 \'end\' 可以是以下格式之一:
      • Jn: 儒略日 n (1 <= n <= 365)。闰年日(2月29)不计算在内。
      • n: 儒略日 (0 <= n <= 365)。 闰年日(2月29)计算在内
      • Mm.n.d: 日期的月份、周数和日期。w=1 指月份中的第一周,而 w=5 指月份的最后一周。
      • time:(可选)DST 开始生效时的时间(24 小时制)。默认值为 02:00(指定时区的本地时间)。

    实例

    以下实例展示了 tzset() 函数的使用方法:

    #!/usr/bin/python
    import time
    import os
    
    os.environ[\'TZ\'] = \'EST+05EDT,M4.1.0,M10.5.0\'
    time.tzset()
    print time.strftime(\'%X %x %Z\')
    
    os.environ[\'TZ\'] = \'AEST-10AEDT-11,M10.5.0,M3.5.0\'
    time.tzset()
    print time.strftime(\'%X %x %Z\')

    以上实例输出结果为:

    13:00:40 02/17/09 EST
    05:00:40 02/18/09 AEDT

    1.datetime.date 类

    1.新建一个date对象,日期为今天,既可以直接调用datetime.date.today(),也可以直接向datetime.date()传值,如下:
    In [4]: today = datetime.date.today()
    In [5]: today
    Out[5]: datetime.date(2014, 8, 15)
    In [6]: t = datetime.date(2014,8,15)
    In [7]: t
    Out[7]: datetime.date(2014, 8, 15)
    
    2.datetime.date.strftime(format) 格式化为需要的时间,如常用的 “年-月-日 小时:分钟:秒” 格式
    In [8]: today.strftime(\'%Y-%m-%d %H:%M:%S\')
    Out[8]: \'2014-08-15 00:00:00’
    date对象中小时、分钟、秒默认都是0,纪元年的那个时间
    
    3.datetime.date.timple() 转成struct_time格式,这样传递给time.mktime(t)  后,直接转成时间戳格式
    In [9]: today.timetuple()
    Out[9]: time.struct_time(tm_year=2014, tm_mon=8, tm_mday=15, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=227, tm_isdst=-1)
    In [10]: time.mktime(today.timetuple())
    Out[10]: 1408032000.0
    
    4.datetime.date.replace(year, month, day)  返回一个替换后的date对象
    In [11]: today.replace(year=2013)
    Out[11]: datetime.date(2013, 8, 15)
    
    5.datetime.date.fromtimestamp(timestamp) 将时间戳转化为date对象
    In [12]: datetime.date.fromtimestamp(1408058729)
    Out[12]: datetime.date(2014, 8, 15)


    2.datetime.time 类

    1.新建一个time对象
    In [15]: t
    Out[15]: datetime.time(8, 45, 20)
    
    2.datetime.time.(format)格式化输出
    In [16]: t.strftime(\'%Y-%m-%d %H:%M:%S\')
    Out[16]: \'1900-01-01 08:45:20’
    time对应的年、月、日为1900、01、01,纪元年的那个时间
    
    3.datetime.time.replace([hour[, minute[, second[, microsecond[, tzinfo]]]]])  返回一个替换后的time对象
    In [17]: t.replace(hour=9)
    Out[17]: datetime.time(9, 45, 20)


    3.datetime.datetime类

    其实和date的那些方法差不多了,大概看以下,简单说说
    1.新建一个datetime对象,日期为今天,既可以直接调用datetime.datetime.today(),也可以直接向datetime.datetime()传值,如下:
    In [21]: d1 = datetime.datetime.today()
    In [22]: d1
    Out[22]: datetime.datetime(2014, 8, 15, 8, 12, 34, 790945)
    In [23]: d2 = datetime.datetime(2014, 8, 15, 8, 12, 34, 790945)
    In [24]: d2
    Out[24]: datetime.datetime(2014, 8, 15, 8, 12, 34, 790945)
    
    2.datetime.datetime.now([tz]) 当不指定时区时,和datetime.datetime.today()是一样的结果,如下
    In [25]: datetime.datetime.now()
    Out[25]: datetime.datetime(2014, 8, 15, 8, 14, 50, 738672)
    
    3..datetime.datetime.strftime(format) 格式化为需要的时间,如常用的 “年-月-日 小时:分钟:秒” 格式
    In [27]: d1
    Out[27]: datetime.datetime(2014, 8, 15, 8, 12, 34, 790945)
    In [28]: d1.strftime(\'%Y-%m-%d %H:%M:%S\')
    Out[28]: \'2014-08-15 08:12:34’
    
    4.datetime.datetime.timple() 转成struct_time格式,这样传递给time.mktime(t)  后,直接转成时间戳格式
    In [29]: d1
    Out[29]: datetime.datetime(2014, 8, 15, 8, 12, 34, 790945)
    In [30]: d1.timetuple()
    Out[30]: time.struct_time(tm_year=2014, tm_mon=8, tm_mday=15, tm_hour=8, tm_min=12, tm_sec=34, tm_wday=4, tm_yday=227, tm_isdst=-1)
    In [31]: time.mktime(d1.timetuple())
    Out[31]: 1408061554.0
    
    5.datetime.datetime.replace(year, month, day)  返回一个替换后的date对象
    In [32]: d1
    Out[32]: datetime.datetime(2014, 8, 15, 8, 12, 34, 790945)
    In [33]: d1.replace(year=2000)
    Out[33]: datetime.datetime(2000, 8, 15, 8, 12, 34, 790945)
    
    6.datetime.datetime.fromtimestamp(timestamp) 将时间戳转化为datetime对象
    In [34]: time.time()
    Out[34]: 1408061894.081552
    In [35]: datetime.datetime.fromtimestamp(1408061894)
    Out[35]: datetime.datetime(2014, 8, 15, 8, 18, 14)
    

    4.datetime.timedelta类

    没啥好说的,主要做时间的加减法用,如下:
    In [78]: today = datetime.datetime.today()
    In [79]: yesterday = today - datetime.timedelta(days=1)
    In [80]: yesterday
    Out[80]: datetime.datetime(2014, 8, 14, 15, 8, 25, 783471)
    In [81]: today
    Out[81]: datetime.datetime(2014, 8, 15, 15, 8, 25, 783471)
     
 



分类:

技术点:

相关文章:

  • 2021-08-01
  • 2021-12-29
  • 2022-12-23
  • 2021-10-30
  • 2021-05-28
  • 2021-06-27
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-05
  • 2022-12-23
  • 2021-12-24
  • 2021-09-04
  • 2022-12-23
  • 2021-12-10
  • 2021-10-22
相关资源
相似解决方案