Python入门系列19-时间模块time、datetime、calendar
  19qMgiCiiRfc 2023年11月13日 22 0

一、time模块

time是python处理时间数据的标准库。

导入语法:

import time

time模块中三种时间表示方式:时间戳、结构化时间对象、格式化时间字符串

1.time.time()时间戳

import time

print(time.time())

输出:

1695257700.7036572

2.time.gmtime()结构化时间对象

属性

说明

tm_year

tm_mon

tm_mday

tm_hour

tm_min

tm_sec

tm_wday

tm_yday

一年内第几天

tm_isdst

夏令时

import time

print(time.gmtime())

输出:

time.struct_time(tm_year=2023, tm_mon=9, tm_mday=21, tm_hour=0, tm_min=56, tm_sec=31, tm_wday=3, tm_yday=264, tm_isdst=0)

函数返回的值还可以使用索引或者变量继续获取内部的变量。

import time

print(time.gmtime()[0])
print(time.gmtime().tm_year)

输出:

2023
2023

3.time.localtime():获取当地时间

import time

print(time.localtime())

输出:

time.struct_time(tm_year=2023, tm_mon=9, tm_mday=22, tm_hour=8, tm_min=52, tm_sec=8, tm_wday=4, tm_yday=265, tm_isdst=0)

4.格式化时间的字符串

time.ctime():获取当前时间并以易读的方式返回字符串。

import time

print(time.ctime())

输出:

Fri Sep 22 08:53:19 2023

time.strftime():格式化日期返回可读字符串表示当地时间

格式化字符串

日期/时间说明

实例

%Y

年份

0000-9999,例如:2023

%m

月份

01-12,例如:9

%B

月份名称

例如:September

%b

月份名称缩写

例如:Sep

%d

日期

01-31例如:22

%A

星期

例如:Wednesday

%a

星期缩写

例如:Wed

%H

小时(24小时制)

00-23例如:12

%I

小时(12小时制)

01-12例如:7

%p

上\下午

AM\PM 例如:PM

%M

分钟

00-59例如10

%S

00-59例如:20

%w

星期几

1-7例如:7

%W

整年的第几周

1-52 例如:2

代码示例如下:

import time

print(time.strftime('%Y-%m-%d %H:%M:%S'))
print(time.strftime('%Y年%m月%d日 %H时%M分%S秒'))

输出:

2023-09-22 09:04:11
2023年09月22日 09时04分11秒

strptime(str,format):格式化指定时间字符串

import time

time_str = '2023-09-22 09:08:20'
print(time.strptime(time_str, '%Y-%m-%d %H:%M:%S'))

输出:

time.struct_time(tm_year=2023, tm_mon=9, tm_mday=22, tm_hour=9, tm_min=8, tm_sec=20, tm_wday=4, tm_yday=265, tm_isdst=-1)

5.计数函数

time.sleep(num):可以让该线程睡眠num秒。

import time

print(time.strftime('%Y-%m-%d %H:%M:%S'))
# 睡眠2秒
time.sleep(2)
print(time.strftime('%Y-%m-%d %H:%M:%S'))

输出:

2023-09-22 09:11:34
2023-09-22 09:11:36

二、datetime模块

1.datetime.date类

常用的属性和方法如下图所示:

函数/属性

说明

today()

返回当地的当前日期

fromtimestamp(timestamp)

根据给定的时间戳,返回本地日期

year

month

day

weekday()

返回一个整数代表星期几(0:星期一 6:星期天)

isoformat()

返回格式如YYYY-MM-DD格式化时间字符串

strftime(format)

返回自定义格式字符串

代码实例如下:

import datetime
import time

# 返回本地日期
print(datetime.date.today())
# 根据给定的时间戳 返回本地日期
print(datetime.date.fromtimestamp(time.time()))
# 年
print(datetime.date.today().year)
# 返回星期
print(datetime.date.today().weekday())
# 返回格式化日期
print(datetime.date.today().isoformat())
print(datetime.date.today().strftime('%Y年%m月%d日 %H时%M分%S秒'))

输出:

2023-09-22
2023-09-22
2023
4
2023-09-22
2023年09月22日 00时00分00秒

2.datetime.time类

常用的属性和方法如下图所示:

方法/属性

说明

hour

minute

second

代码实例如下:

import datetime

t = datetime.time(9,36,50,888888)

print(t.hour)
print(t.minute)
print(t.second)

输出:

9
36
50

3.datetime.datetime类

常用方法和属性如下图所示:

函数/方法

说明

today()

返回当地的当前时间

now(tz=None)

类似于today(),可选参数tz可指定时区

utcnow()

类似于now(),返回当前UTC时间

fromtimestamp(时间戳)

根据时间戳返回对应时间

strptime(字符串,format)

根据字符串返回时间

combine(date,time)

根据date和time返回对应时间

代码示例如下:

import datetime
import time

print(datetime.datetime.today())
print(datetime.datetime.now(tz=None))
print(datetime.datetime.utcnow())
print(datetime.datetime.fromtimestamp(time.time()))
print(datetime.datetime.strptime('2023-09-22 10:20:30','%Y-%m-%d %H:%M:%S'))
print(datetime.datetime.combine(datetime.date(2023,9,22),datetime.time(10,25,30)))

输出:

2023-09-22 09:47:02.150541
2023-09-22 09:47:02.150541
2023-09-22 01:47:02.150541
2023-09-22 09:47:02.150541
2023-09-22 10:20:30
2023-09-22 10:25:30

三、calendar模块

month(year,month):返回一个月的日历多行文本字符串。

import calendar

print(calendar.month(2023, 9))

输出:

September 2023
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

isleap(year):判断指定是否是闰年,闰年为True,否则为False

import calendar

print(calendar.isleap(2023))

输出:

False

weekday(year,month,day):获取指定日期为星期几

import calendar

print(calendar.weekday(2023,9,23))

输出:

5
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: Java基础——异常 下一篇: 开环控制算法
  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
19qMgiCiiRfc