Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 49cd9c6

Browse files
Create kc46.md
1 parent 0167c6e commit 49cd9c6

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed

‎kc/kc46.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# 4-6 日期和时间
2+
在应用中日期、时间、时间戳(时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量),是会经常要取用的数据,比如得到今天的日期、
3+
4+
星期、一个月的起始和结束等,时间戳经常会用到数据签名或者数据流水号等;使用日期和时间,需要导入库datetime、time,
5+
6+
- time 是继于系统Unix Timestamp的,因此,使用time可能在不同的平台,有差异;日期范围限定在1970 - 2038 之间
7+
- datetime 可以理解为time的升级版,弥补了time的不足,提供了更丰富的功能函数
8+
9+
日期和时间,因为存在不同系统的差异,因此常会用到格式化,python提供的日期格式化符号主要有
10+
格式|含义
11+
-|-|
12+
%a|本地(locale)简化星期名称|
13+
%A|本地完整星期名称|
14+
%b|本地简化月份名称|
15+
%c|本地相应的日期和时间表示|
16+
%d|一个月中的第几天(01-31)|
17+
%H|一天中的第几个小时(24小时制,00-23)|
18+
%I|第几个小时(12小时制,01-12)|
19+
%j|一年中的第几天(001-366)|
20+
%m|月份(01-12)|
21+
%M|分钟数(00-59)|
22+
%p|本地am或者pm的相应符|
23+
%S|秒(01-61)|
24+
%U|一年中的星期数(00-53,星期天是首日)第一个星期天之前的所有天数都放在第0周。
25+
%w|一个星期中的第几天(0-6,0是周日)|
26+
%W|和%U基本相同,不同的是%W以星期一为一个星期的开始
27+
%x|本地相应日期|
28+
%X|本地相应时间|
29+
%y|去掉世纪的年份(00-99)|
30+
%Y|完整的年份|
31+
%Z|时区的名字(如果不存在为空字符)|
32+
%%|'%'字符|
33+
这些格式化字符,不需要做记忆,会通过下面的代码进行讲解
34+
## 1.time的用法
35+
### 代码区 1
36+
```python
37+
1 import time
38+
2
39+
3 # 打印一个当前的时间戳
40+
4 t = time.time()
41+
5 print(t)
42+
6
43+
```
44+
![4](https://user-images.githubusercontent.com/103555341/163546933-bee710b5-943e-454e-b00d-922d2b897614.jpg)
45+
```python
46+
1650187292.611
47+
```
48+
### 代码区 2
49+
```python
50+
1 import time
51+
2
52+
3 # 返回当前系统的时间
53+
4 t = time.localtime()
54+
5 print(t)
55+
6
56+
```
57+
![4](https://user-images.githubusercontent.com/103555341/163546933-bee710b5-943e-454e-b00d-922d2b897614.jpg)
58+
```python
59+
time.struct_time(tm_year=2022, tm_mon=4, tm_mday=17, tm_hour=17, tm_min=29, tm_sec=6, tm_wday=6, tm_yday=107, tm_isdst=0)
60+
```
61+
可以看到,localtime返回的是一个时间的元组,里面包含了,当前时间的年、月、日、小时、分秒等,当然看着和熟悉的电脑日期格式不太一样.
62+
### 代码区 3
63+
```python
64+
1 # 练习题 试着用前面学习到的四舍五入,对上面的时间戳取个整; 取出返回的元组时间里的年
65+
2
66+
```
67+
![4](https://user-images.githubusercontent.com/103555341/163546933-bee710b5-943e-454e-b00d-922d2b897614.jpg)
68+
69+
## 2.datetime用法
70+
datetime根据字面意思主是date和time的组合, datetime模块,主要包含了5个类:
71+
72+
- datetime.date:日期操作的类
73+
- datetime.datetime:日期时间操作的类
74+
- datetime.time:时间操作的类
75+
- datetime.timedelta:时间间隔,即两个时间点的间隔
76+
- datetime.tzinfo:时区的相关信息
77+
### 代码区 4
78+
```python
79+
1 import datetime as dt
80+
81+
2 # 获取今天的日期
82+
3 today = dt.date.today()
83+
4 print('今天是:', today)
84+
5
85+
6 print('今年是:', today.year)
86+
7
87+
```
88+
![4](https://user-images.githubusercontent.com/103555341/163546933-bee710b5-943e-454e-b00d-922d2b897614.jpg)
89+
```python
90+
今天是: 2022-04-17
91+
今年是: 2022
92+
```
93+
### 代码区 5
94+
```python
95+
1 import datetime as dt
96+
2 # 获取当前的时间
97+
3 now = dt.datetime.now()
98+
4 print(now)
99+
5 # 用到了上面的格式化字符,
100+
6 print(now.strftime('%Y'))
101+
7
102+
```
103+
![4](https://user-images.githubusercontent.com/103555341/163546933-bee710b5-943e-454e-b00d-922d2b897614.jpg)
104+
```python
105+
2022-03-21 14:21:43.026081
106+
2022
107+
```
108+
### 代码区 6
109+
```python
110+
1 # 练习题 试着输出更多格式的时间
111+
2
112+
```
113+
![4](https://user-images.githubusercontent.com/103555341/163546933-bee710b5-943e-454e-b00d-922d2b897614.jpg)
114+
### 代码区 7
115+
```python
116+
# 如何取到昨天的日期?
117+
1 import datetime as dt
118+
2
119+
3 today = dt.date.today()
120+
4
121+
5 print('今天是:', today)
122+
6 yesterday = today - dt.timedelta(days=-1)
123+
7 print('昨天是:', yesterday)
124+
8
125+
```
126+
![4](https://user-images.githubusercontent.com/103555341/163546933-bee710b5-943e-454e-b00d-922d2b897614.jpg)
127+
```python
128+
今天是: 2022-04-17
129+
昨天是: 2022-04-18
130+
```
131+
### 代码区 8
132+
```python
133+
1 # 练习题 算一下前天的日期
134+
2
135+
```
136+
![4](https://user-images.githubusercontent.com/103555341/163546933-bee710b5-943e-454e-b00d-922d2b897614.jpg)
137+
138+
139+
140+
141+

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /