Skip to content

Commit d89a8e7

Browse files
committed
datetime模块使用
1 parent 77afa0c commit d89a8e7

1 file changed

Lines changed: 114 additions & 0 deletions

File tree

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# code02 使用datetime
2+
""""
3+
方便的格式化显示日期
4+
日期进行算术运算
5+
"""
6+
7+
from datetime import date, datetime, timedelta
8+
import time
9+
10+
11+
def use_datetime():
12+
datetime_now = datetime.now() # 返回datetime.datetime类对象
13+
print(type(datetime_now))
14+
print(datetime_now.year, datetime_now.month, datetime_now.day,
15+
datetime_now.hour, datetime_now.minute, datetime_now.second)
16+
# 设置时间
17+
dt = datetime(2015, 10, 21, 15, 29, 0)
18+
print(dt.year, dt.month, dt.day, dt.hour, dt.minute,dt.second)
19+
20+
21+
# 时间转换
22+
def transfer_time():
23+
# 时间戳转换
24+
dt = datetime.fromtimestamp(1000000)
25+
print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
26+
dt = datetime.fromtimestamp(time.time())
27+
print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
28+
29+
30+
# 时间比较
31+
def compare_time():
32+
dt01 = datetime(2015, 10, 31, 0, 0, 0)
33+
dt02 = datetime(2016, 1, 1, 0, 0, 0)
34+
dt03 = datetime(2015, 10, 31, 0, 0, 0)
35+
if dt01 == dt03:
36+
print("same time")
37+
if dt01 < dt02:
38+
print("dt02 bigger")
39+
if dt02 != dt03:
40+
print("not same time")
41+
42+
43+
# 一段时间表时
44+
def use_duration():
45+
delta = timedelta(days=11, hours=10, minutes=9, seconds=8)
46+
print("delta.days", "delta.seconds", "delta.microseconds")
47+
print(delta.days, delta.seconds, delta.microseconds)
48+
print("total second", delta.total_seconds())
49+
print(str(delta))
50+
51+
52+
# 时间运算
53+
def time_calc():
54+
dt = datetime.now()
55+
thousandDays = timedelta(days=1000)
56+
dt = dt + thousandDays
57+
print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
58+
# 时间运算
59+
dt01 = datetime(2015, 10, 21, 16, 29, 0)
60+
thirty_years = timedelta(days=365*30)
61+
# 30年后
62+
dt01 = dt01 - thirty_years
63+
print(dt01.year, dt01.month, dt01.day, dt01.hour)
64+
# 60年后
65+
dt01 = dt01 - (2*thirty_years)
66+
print(dt01.year, dt01.month, dt01.day, dt01.hour)
67+
68+
69+
# 暂停直至特定日期
70+
def pause():
71+
dt = datetime(2022, 1, 1, 0, 0, 0)
72+
while datetime.now() < dt:
73+
time.sleep(1)
74+
75+
76+
# 格式化datetime
77+
def format_datetime():
78+
dt01 = datetime(2015, 10, 21, 16, 29, 0)
79+
result01 = dt01.strftime('%Y/%m/%d %H:%M:%S')
80+
print(result01)
81+
result02 = dt01.strftime('%I:%M %p')
82+
print(result02)
83+
result03 = dt01.strftime("%B of %y")
84+
print(result03)
85+
print('-------------------------------------')
86+
dt = datetime.strptime('October 21, 2015', '%B %d, %Y')
87+
print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
88+
dt = datetime.strptime('2015/10/21 16:29:00', '%Y/%m/%d %H:%M:%S')
89+
print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
90+
dt = datetime.strptime("October of '15", "%B of '%y")
91+
print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
92+
dt = datetime.strptime("October of '63", "%B of '%y")
93+
print(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second)
94+
95+
96+
def use_date():
97+
now = date.today()
98+
print(type(now), now)
99+
# 格式化
100+
result = now.strftime('%m-%d-%y. %d %b %Y is a %A on the %d day of %B.')
101+
print(result)
102+
birthday = date(1964, 7, 31)
103+
age = now - birthday
104+
print(age.days)
105+
106+
107+
if __name__ == '__main__':
108+
# test_datetime()
109+
# use_datetime()
110+
# transfer_time()
111+
# compare_time()
112+
# use_duration()
113+
# time_calc()
114+
format_datetime()

0 commit comments

Comments
 (0)