亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> Python

Python - 日期和时间

上一页下一页

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

什么是滴答声?

时间间隔是以秒为单位的浮点数。从 1970 年 1 月 1 日(纪元)00:00:00 开始,特定的时间点以秒表示。

有一个流行的时间 Python 中可用的模块,它提供了处理时间和在表示之间转换的函数。函数 time.time() 返回自 1970 年 1 月 1 日(纪元)00:00: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

日期算术很容易用刻度来完成。但是,纪元之前的日期不能以这种形式表示。遥远未来的日期也不能以这种方式表示 - 对于 UNIX 和 Windows,截止点是 2038 年的某个时间。

什么是 TimeTuple?

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

索引 字段 价值观
0 四位数年份 2008
1 1 到 12
2 1 到 31
3 小时 0 到 23
4 分钟 0 到 59
5 第二 0 到 61(60 或 61 是闰秒)
6 星期几 0 到 6(0 是星期一)
7 一年中的一天 1 到 366(儒略日)
8 夏令时 -1, 0, 1, -1 表示库决定夏令时

上面的元组等价于 struct_time 结构体。该结构具有以下属性 -

索引 属性 价值观
0 tm_year 2008
1 tm_mon 1 到 12
2 tm_mday 1 到 31
3 tm_hour 0 到 23
4 tm_min 0 到 59
5 tm_sec 0 到 61(60 或 61 是闰秒)
6 tm_wday 0 到 6(0 是星期一)
7 tm_yday 1 到 366(儒略日)
8 tm_isdst -1, 0, 1, -1 表示库决定夏令时

获取当前时间

从纪元以来的转换时间瞬间 将浮点值转换为时间元组,将浮点值传递给函数(例如本地时间),该函数返回所有九项都有效的时间元组。

现场演示
#!/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. 函数说明
1 time.altzone

本地 DST 时区的偏移量,以 UTC 以西的秒数为单位(如果已定义)。如果当地 DST 时区在 UTC 以东(如在西欧,包括英国),则这是负数。仅当日光不为零时才使用此选项。

2 time.asctime([元组时间])

接受一个时间元组并返回一个可读的 24 个字符的字符串,例如 'Tue Dec 11 18:07:14 2008'。

3 time.clock( )

以浮点秒数返回当前 CPU 时间。要衡量不同方法的计算成本,time.clock 的值比 time.time() 的值更有用。

4 time.ctime([秒])

像 asctime(localtime(secs)) 并且没有参数就像 asctime( )

5 time.gmtime([秒])

接受自纪元以来以秒表示的瞬间,并返回带有 UTC 时间的时间元组 t。注意:t.tm_isdst 始终为 0

6 time.localtime([秒])

接受自纪元以来以秒表示的瞬间,并返回一个带有本地时间的时间元组 t(t.tm_isdst 为 0 或 1,取决于 DST 是否适用于本地规则的瞬间秒)。

7 time.mktime(元组时间)

接受以本地时间表示为时间元组的瞬间,并返回一个浮点值,该瞬间以自纪元以​​来的秒数表示。

8 time.sleep(秒)

暂停调用线程 secs 秒。

9 time.strftime(fmt[,tupletime])

接受以本地时间表示为时间元组的瞬间,并返回表示由字符串 fmt 指定的瞬间的字符串。

10 time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')

根据格式字符串 fmt 解析 str 并以时间元组格式返回瞬间。

11 time.time()

返回当前时刻,一个从纪元开始的浮点秒数。

12 time.tzset()

重置库例程使用的时间转换规则。环境变量 TZ 指定了这是如何完成的。

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

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

Sr.No. 带有描述的属性
1

时间.时区

属性 time.timezone 是本地时区(不含 DST)与 UTC 的偏移量(以秒为单位)(在美洲>0;在欧洲、亚洲、非洲的大部分地区 <=0)。

2

时间.tzname

属性 time.tzname 是一对依赖于语言环境的字符串,分别是不带夏令时和带夏令时的本地时区名称。

日历 模块

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

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

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

Sr.No. 函数说明
1

calendar.calendar(年,w=2,l=1,c=6)

返回一个多行字符串,其中包含一年的日历,格式为由 c 个空格分隔的三列。 w 是每个日期的字符宽度;每行的长度为 21*w+18+2*c。 l 是每周的行数。

2

calendar.firstweekday( )

返回每周开始的工作日的当前设置。默认情况下,首次导入日历时,此值为 0,表示星期一。

3

calendar.isleap(年)

如果 year 是闰年,则返回 True;否则为假。

4

calendar.leapdays(y1,y2)

返回 range(y1,y2) 内年份的闰日总数。

5

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

返回一个多行字符串,其中包含一年中月份的日历,每周一行加上两个标题行。 w 是每个日期的字符宽度;每行的长度为 7*w+6。 l 是每周的行数。

6

calendar.monthcalendar(年,月)

返回整数列表的列表。每个子列表表示一周。年月月外的天数设置为 0;月内的天数设置为当月的第 1 天及以上。

7

calendar.monthrange(年,月)

返回两个整数。第一个是年年月月第一天的工作日代码;第二个是一个月的天数。工作日代码为 0(星期一)至 6(星期日);月份数字是 1 到 12。

8

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

比如打印 calendar.calendar(year,w,l,c)。

9

calendar.prmonth(年,月,w=2,l=1)

比如打印 calendar.month(year,month,w,l)。

10

calendar.setfirstweekday(工作日)

将每周的第一天设置为工作日代码工作日。工作日代码为 0(星期一)到 6(星期日)。

11

calendar.timegm(tupletime)

time.gmtime 的倒数:接受时间元组形式的时间瞬间,并返回与自纪元以来的浮点秒数相同的瞬间。

12

calendar.weekday(年、月、日)

返回给定日期的工作日代码。工作日代码为 0(星期一)至 6(星期日);月份数字是 1(一月)到 12(十二月)。

其他模块和功能

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


Python

  1. Python 数据类型
  2. Python 运算符
  3. Python pass 语句
  4. Python 函数参数
  5. Python字典
  6. Python 日期时间
  7. 如何在 Python 中获取当前日期和时间?
  8. Python获取当前时间
  9. Python时间模块
  10. Python 睡眠()
  11. Java - 日期和时间
  12. C++ 日期和时间