在线时间 480 小时 最后登录 2026-6-1 注册时间 2023-7-11 听众数 4 收听数 0 能力 0 分 体力 7823 点 威望 0 点 阅读权限 255 积分 2934 相册 0 日志 0 记录 0 帖子 1174 主题 1189 精华 0 分享 0 好友 1
该用户从未签到
使用 time 模块展示当前日期和时间+ X5 b* y1 X3 j9 R, q! z+ a
import time# ~- O4 L% k ^! W2 t: Z: r/ F3 R7 @
from time import gmtime, strftime
1 C& p, q5 R9 M w ^ , `9 l/ P: y7 ?/ G+ ]( I
t = time.localtime()
" w3 v# \4 |8 K9 T' j3 ? print (time.asctime(t)) # Sun May 7 09:30:37 2017 v1 @" r3 \6 M
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000
. H. X: F9 r0 Z% R( L, P! O print(strftime("%A", gmtime())) # Sunday
2 k3 j+ q9 J* G& I" ]' x- O print(strftime("%D", gmtime())) # 05/07/17) C* B" q# z( I
print(strftime("%B", gmtime())) # May- V! T% a1 P: U
print(strftime("%y", gmtime())) # 179 a3 c: d; G0 J4 H* J9 o9 F8 q2 p1 I
& w1 q$ n* `/ E/ J# Q1 l# t # Convert seconds into GMT date; g8 v0 _+ t! J) t
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +00003 o% K* `- @4 |6 F( X
2 D3 r6 r% x% h- W* X; ?8 ]3 D
二、将天、小时、分钟转换为秒! c0 G( J$ q6 z$ C4 Z M$ N2 B
SECONDS_PER_MINUTE = 60
3 j4 e0 R( f" Y0 J! v SECONDS_PER_HOUR = 3600, ?# h4 i: c# p4 |6 D
SECONDS_PER_DAY = 86400 T8 ]+ x6 ?! F) y
: r2 B# ^$ \+ z! K/ ^; v! x # 输入天、小时、分钟、秒的数量
: J6 H* \$ ~. y% N/ g days = int(input("Enter number of Days: "))+ c. l; O! C) F% u+ L0 h% ]
hours = int(input("Enter number of Hours: "))
+ o$ l8 }& l; b$ N$ l9 x( v. A minutes = int(input("Enter number of Minutes: "))! X' H- h3 Z% i3 F
seconds = int(input("Enter number of Seconds: "))
0 {% d4 _& t2 Q+ J' U $ i7 m& H/ e9 s' \5 K' Q2 B
# 计算" c" w# {0 S3 z( N# ^1 k J D* J9 K
total_seconds = days * SECONDS_PER_DAY, |5 t+ [. n8 K! _, @" n( ?
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)
! S5 L ~& y, ~4 Q% E5 D# _ total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)
! B* e4 F; c- ?$ p8 H6 x8 z. B total_seconds = total_seconds + seconds0 S1 i8 v4 \* \3 q+ B
! o: `: M. l) @/ S8 K. z" ?0 U
# 结果
8 a( U9 @& \' f5 i- i6 O print("Total number of seconds: ","%d"%(total_seconds)), N3 F: ~# |4 [. y2 J# A
'''
: B" V4 Q8 y. e! t Enter number of Days: 56 y" i& {" r$ x
Enter number of Hours: 36
/ w+ h, |* Z/ W1 y5 Y8 G4 q# t Enter number of Minutes: 24
* z% j, u [( S) k Enter number of Seconds: 15. d' |7 J' @8 j2 Z4 v
Total number of seconds: 563055
" G8 X/ {8 ]5 M1 o8 F+ v0 v ''') G* e+ K" I9 ]/ U5 N' n
4 F6 U8 `/ V; _8 Y) C
三、使用 Pandas 获取当前日期和时间
! l( ?. R9 h( u! y! X import pandas as pd
. X" j* w, W2 y print(pd.datetime.now()) # 2018-01-19 16:08:28.393553
3 r& q# P/ z/ Z8 l+ ]$ l. E print(pd.datetime.now().date()) # 2018-01-19. G. U. c2 I- e; o! A3 H
print(pd.datetime.now().year) # 2018
9 U8 i7 t/ G. d7 t% F' l$ P print(pd.datetime.now().month) # 1
$ y! I' U' F- s7 m print(pd.datetime.now().day) # 19
1 m( F* V4 x& ^" q# n: B3 ? print(pd.datetime.now().hour) # 169 G, q6 n# b+ s4 B, V' |) l3 U
print(pd.datetime.now().minute) # 8
! v0 f: L- `/ O0 R, k4 S1 l5 j3 G print(pd.datetime.now().second) # 285 e& D1 Z4 f/ ^
print(pd.datetime.now().microsecond) # 3945536 U0 X- ?! v* k; S# B6 t
' I$ A9 D% |5 n# s7 | 四、将字符串转换为日期时间对象) H+ f, l' [) H6 a
from datetime import datetime
* g+ n, D! q" R from dateutil import parser( w% K% d# M4 a) b3 D
& o2 Z2 N* A! e8 T
d1 = "Jan 7 2015 1:15PM"4 n7 N% n! l: \. _2 E
d2 = "2015 Jan 7 1:33PM"
1 S6 y$ M7 U: `5 v$ u
: Y% H) b$ P/ r# X # If you know date format+ m) W0 C" w9 ^1 e- d0 h0 o
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')4 R2 d; @% f, G3 X# P2 ~- j G
print(type(date1)) # class 'datetime.datetime') x3 w' s" ~7 \
print(date1) # 2015-01-07 13:15:00# F1 p) u" p% }' z
8 ]+ i. x/ g8 x, f' v4 l) u
# If you don't know date format
- D( ?6 {7 g% X* l- e. M date2 = parser.parse(d2)
( Q6 n# K/ ]! \1 v* ?* K print(type(date2)) # class 'datetime.datetime'
! H7 z; l% t" U) n1 G. M! @/ s" r print(date2) # 2015-01-07 13:33:00/ }) p$ ~2 {) p5 ~
0 W$ c$ e8 P( S% A0 p, F# J
五、以毫秒为单位获取当前时间& d# L% f: j1 M5 T+ S
import time
3 n3 q" K h* j4 q5 ~
+ X9 W% F% f! a4 I0 s milliseconds = int(round(time.time() * 1000))8 j1 ~ a0 @; f V2 I( {; q9 @- d
print(milliseconds) # 15163642706504 ]) |% x/ Q5 |8 O
8 e; e/ U) {; d0 O
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间
/ Y/ |# S8 m* ], Y' u from datetime import datetime0 L& s( R4 g3 ~, @9 v
from pytz import timezone
0 N7 ?' e9 w& {: E% c+ T: v' O+ V
# X8 h1 M& F1 ]) m- S! ] mst = timezone('MST')
" F; P* E ~0 f! v2 K, d7 w( } B1 t9 |; M print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:00
7 t; V- J; s' h/ V est = timezone('EST')
5 m8 g y6 a: n" q2 H% K& l print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:00% e( }, I$ z6 S9 K
utc = timezone('UTC')3 d- q$ C" ?! q8 s9 V
print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00. Z- T) D- V- c. g0 w" G# L. ~
gmt = timezone('GMT')
( C* s7 y% c6 p& d c print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00- E5 M/ Z; y& X. {& N/ N) G) V
hst = timezone('HST')7 P- W5 S1 n8 N, h2 |& _( m- }; v# D
print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00
0 s' M. U. z9 Q' u9 `
8 [2 K. Y" {5 {5 o 七、从给定的日期当中获取星期几
6 l: y6 _% r# v0 I4 `" p9 ^ A import datetime
/ Q+ x3 k" N; k0 O Q( w' a0 u1 I+ o9 _
dayofweek = datetime.date(2010, 6, 16).strftime("%A")
# `7 ~+ d# V4 e' M+ Q+ i W print(dayofweek) # Wednesday" M/ o9 h* E6 T6 a; U* D u C
# L+ \8 e: \; V' S8 v, p8 z& A o" E
# weekday()方法: 0代表周一,6代表周日4 U9 U# ?" l" ^# ?6 t4 f8 c1 A
print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 29 J0 J. i$ F" X6 d
) r% x# ` [/ O
# isoweekday() 方法: 1代表周一,7代表周日, H6 W* ~; l v* K2 h
print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3
8 O! o7 Y. ~$ i
( r& b! V: @0 A- H8 s! O6 u% O8 a, w dayofweek = datetime.datetime.today().strftime("%A"): o, ^$ z% ^+ K' O" }& h- r7 H
print(dayofweek) # Friday
. `3 @% C1 }+ h1 W5 N print("weekday():", datetime.datetime.today().weekday()) # weekday(): 4
& d. B, d% n/ H' i print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5
& m& T" u3 {! K: h2 }) J2 f* u% e ( c% P3 N o5 B
八、计算两个日期时间对象之间的时差7 q" a+ J' H1 o) d4 V
import datetime/ @, P0 A: v$ t" ?9 @
from datetime import timedelta1 u' A0 r9 q: p+ J+ ]
4 G3 O' E7 g* v7 @1 z4 g
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f') J- z. k% f# S9 a0 q
date1 = '2016-04-16 10:01:28.585'4 u2 T" y. T+ k+ ^' N
date2 = '2016-03-10 09:56:28.067') r! r( J0 q9 i$ K/ q# m
diff = datetime.datetime.strptime(date1, datetimeFormat)\) @- ]( W% H- }0 j
- datetime.datetime.strptime(date2, datetimeFormat)
7 x4 g& k0 F1 [/ {. g4 B: N8 O
2 k# y) e1 `; U# D9 s: W print("Difference:", diff) # Difference: 37 days, 0:05:00.518000( K3 Z# [/ ]5 U. E/ v' K8 U" w' d
print("Days:", diff.days) # Days: 37* L# _ {) r( f
print("Microseconds:", diff.microseconds) # Microseconds: 518000
) |9 g7 Z+ A: w# X) L9 K" \! {) ` print("Seconds:", diff.seconds) # Seconds: 300
2 ?" S9 r- Y$ M6 n& @
9 I- y" O- m# w% g3 ~" U, u: P: j 九、将 5 分钟添加到 Unix 时间戳: O3 u: R; U; q& _9 K
import datetime
5 W# K+ A' M I% X2 S import calendar
+ O9 ~8 P+ f# g/ Q# J
' B/ q2 v3 C: P+ ]8 o, c future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)- n- Z9 g$ a8 F
print(calendar.timegm(future.timetuple())) # 1621069619% T S% s! N- `+ e+ C- q4 j3 k
4 |) v4 L: ]: A+ Z& F2 |, q 十、遍历一系列日期% Q* T& D- c; l& J7 R$ y
import datetime. ]0 C. n0 Q& E" l, W
: N8 p" A0 e, c4 {) ?
start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")! f, Y5 y8 ]" Q% f1 w1 R4 O; c
end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
) [1 N: }) ]6 k0 }/ {4 q date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]+ H6 ^8 n1 K7 E
: b4 H% x7 t! T2 T* @* l for date in date_generated:- a5 C6 e( g g. p5 m
print(date.strftime("%d-%m-%Y"))
& k, ^* \5 V( o" w
% B, u8 A+ ?2 N* E$ l 十一、巴黎时间更改为纽约时间
# F* n2 J) O' }7 h* h8 C$ ~3 h. v import pendulum
( P: [# |$ j1 p 9 W% D6 k; x) `$ h
in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')
1 f2 K$ b8 S. q; [6 H print(in_paris) # 2016-08-07T22:24:30+02:00. T8 W1 V* }1 U/ {
( p+ }; b+ ], }6 v7 T0 ? in_us = in_paris.in_timezone('America/New_York')
$ ~, K: _5 }5 Q3 j. A/ j O print(in_us) # 2016-08-07T16:24:30-04:002 W" G9 G, I9 N# W0 I& K
% Z/ m& |) w; f, ~) L$ X7 ^ 十二、使用 Python 获得最后7个工作日$ `5 G4 Q* {, b! y
from datetime import date
0 w1 ^2 d2 Z# I3 S+ c+ s3 b from datetime import timedelta
# Z0 h1 m7 f6 U7 C7 m5 s7 ~6 R 9 I' d' u8 j4 e+ V# z
today = date.today()9 w& a) ?1 V2 b# y! G
$ V; H8 q; p" S
for i in range(7):
: [9 r$ s4 C0 k8 c1 J d = today - timedelta(days=i)
" ]8 L2 F4 \6 A- C if d.weekday() < 5:
, ] r1 |& C3 d0 o print(d)
, _7 \' N0 _5 A7 U: L) `& H
! `7 W9 F: {7 f8 }) E" H% [ 十三、从今天的日期和一个人的生日推算年龄
# |6 I; |; D6 x/ t from datetime import date
# }5 O+ b( Z& u3 ^2 N: v " q7 O6 s8 r/ F! g; {/ v8 J
3 c! b- V6 @. O/ T def calculate_age(born):" E- u* w( u# j! F0 J- P
today = date.today()
* U2 r4 x' x/ h+ @# C$ ^ try:
$ R; ~0 G/ t& C& M$ {% K1 Z birthday = born.replace(year=today.year), [+ ^& G8 Y; I; l! n: }* K( S
except ValueError:
9 m5 m% \/ }8 \7 |% E6 z birthday = born.replace(year=today.year, month=born.month + 1, day=1)8 L4 D( I$ e0 v3 a& i/ \
if birthday > today:
% O$ z8 t4 f) p! m return today.year - born.year - 1
# i0 g, f' k: y" Z else:
, v$ X+ n' n7 Q. u return today.year - born.year
6 r4 i) c3 ~7 g3 J9 f$ z0 E
# T0 k/ d4 n3 z2 X5 M3 ?
( _3 h! i: d; D3 a" e print(calculate_age(date(2001, 3, 1)))
2 x: e `0 g2 ~* \' ]# P7 r& S . B( f" ?5 T2 {) K+ E4 K
十四、获得本月的第一个星期二
7 P% K' w5 E, y1 ` import calendar. P) D" R! V% t
from datetime import datetime
/ y" `4 `: x1 | 1 b; Y! p) Q6 D3 L B& ^" ~
c = calendar.Calendar(firstweekday=calendar.SUNDAY)+ `1 w4 M& w7 ^& [- A
monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)' _3 [* i n7 y5 O9 R% y
#Python小白学习交流群:153708845 / ]; B8 E6 R3 F: w
try:
3 D7 u- }) h1 k tues = [day for week in monthcal for day in week if
h1 q1 y! g1 W$ R day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
$ g2 I; V$ w( w" u: a print(tues)7 S$ r3 Y0 B2 X* B) i( c0 e* |2 O
except IndexError:, W4 `, @$ n' I+ V- L$ q/ x
print('No date found')* Z3 A7 \4 v) `9 j2 |. Z% ]+ y, s
9 f3 c) Q$ w P7 r6 Y1 u7 F8 }/ \2 e 十五、将整数转换为日期对象
/ p6 i' t% L4 w from datetime import datetime
0 f; n& g4 _: `5 q1 j* j) T9 G2 C$ @8 Z 4 G* W, e. ?+ Y/ i% E9 }
i = 1545730073
# i% x4 u4 {, ~1 H& W0 }1 [ timestamp = datetime.fromtimestamp(i)
/ S4 a7 |5 {6 x ?0 e- k% R8 D5 i, B$ c% V
print(timestamp) # 2018-12-25 14:57:53 G2 {# U! U& [( Y: U
print(type(timestamp)) a- Y( ~$ d3 S5 b, p+ M0 z
1 Q, e& M3 h& G& g
十六、当前日期减去 N 天的天数
3 m5 F+ x8 X0 l/ w0 U5 S, { from datetime import datetime, timedelta
# {8 r& a8 I' G! j% j9 `' g% e 6 S: ? P" Z% }
d = datetime.today() - timedelta(days=5)+ b* U$ ]. F. H Q
print(d)
8 S( c( w2 n# k9 O
! i# {& P, r1 U) q9 ~4 v5 | 十七、比较两个日期
! l& ~. h% u/ | import datetime& N+ u7 S: z/ i3 r4 y* g
" }& w; F6 ^8 |% Q I
a = datetime.datetime(2020, 12, 31, 23, 59, 59)
* h2 Q) c& s2 h4 X5 K b = datetime.datetime(2020, 11, 30, 23, 59, 59)8 N! \2 B& U* _* n# _
: I7 _9 _+ I0 L+ j5 D1 o( f' ~ print(a < b); _' d) w$ f, D, J, t: p2 M
print(a > b)' j) X9 e; H) P' N9 x, V8 X
/ Q0 z" @5 i% d
十八、从 datetime 对象中提取年份$ ^! c8 }- m" I/ i& \
import datetime9 ~! y6 r% K) h6 [! F/ s
' P5 R- b- ]- i! y" D7 @
year = datetime.date.today().year( `/ S( `, y; a/ C9 g8 y. r& i
print(year)' D' C4 Z4 [7 F+ Q# P ^
6 R; C2 U# x8 D* N
十九、根据日期找到星期几
& {& X* ^7 N$ I& g import pendulum
0 y; B6 R" O3 Y+ ^4 x" ]
0 @# X1 }* G7 f* l' B* p7 N0 ]) h dt = pendulum.parse('2021-05-18')
; q& G4 t- }1 g: C8 L5 f& E& U! f print(dt.day_of_week) # 26 O; q# N: F% x% v6 x; V
4 i/ m7 A# u) D5 O/ n5 _/ d dt = pendulum.parse('2021-05-01')* d4 w; N9 n. R9 Q+ X
print(dt.day_of_week) # 6
% C' O. y4 e3 S4 M 2 v# |* d4 n/ J
dt = pendulum.parse('2021-05-21')
6 v5 x% R5 }5 b4 D9 T) |, D; @; n print(dt.day_of_week) # 5
4 I+ M. L: d- X0 s" ~. ^, j1 D7 i. ?
7 j' v5 i$ V) f8 P1 T" ]$ x 二十、从当前日期获取 7 天前的日期
, {/ t* ?1 Y* }0 k& V( F from datetime import datetime, timedelta
8 z* S: B' l3 N. B" d+ T
: p/ {$ F1 h- U! }9 [! j; b1 f8 J now = datetime.now()
2 b# l/ o; o# w- j, Z 9 m- v5 n' J( V- `+ q- {5 d
for x in range(7):
0 o! s5 O' e2 } d = now - timedelta(days=x)
8 J2 |4 a$ ?; B8 u print(d.strftime("%Y-%m-%d"))
W* h3 U6 E- W" \% Y4 l: f7 t8 @
3 w; r9 P0 ]) M4 i E 二十一、将两个日期时间对象之间的差值转换为秒# W$ n1 K, X" u$ I
import datetime; a4 H8 q* L- }* n5 {" { p8 l
& I+ r) i3 K/ d$ o( {( F
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')9 V6 M4 p2 C( q2 j' P
time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')% P" y8 z% b4 j. ?1 X
- v( S0 D9 z1 Q: U u( ]
difference = time2 - time10 u: z" u' x y* @
print(difference) # 6 days, 0:00:00. O. y, W' c( C) T( ^4 ^3 E6 j
, q% `% A, ~' v( | seconds = difference.total_seconds()6 s* g) Y# y1 P/ [" v3 J7 j
print(seconds) # 518400.0+ L9 X# w' N; s4 F, Z8 P' w& Z
; d3 B6 U) n3 O) h6 u& B' M! O- Q 二十二、获得任何一个月的第N个星期五
+ P: J! b# E* V+ k" J" R5 n. t, X import calendar, |# {- m* T# [+ P. u5 O
- M* h! a- g: ?
# 取2021年5月的第三个星期五 L) J: L: I, K' `- ~) O% c( u9 C; }
c = calendar.Calendar(firstweekday=calendar.SUNDAY)5 g: G& z5 M( d+ V4 J- i" J
year = 2021
. C) I# a$ n7 i5 }3 h month = 5
' A( T0 S( d2 X+ N9 ~6 D: A n = 2 # 取第三个( b: g. e& `* k
monthcal = c.monthdatescalendar(year, month)
) [8 u1 i7 F3 `$ z . U$ P3 T1 k$ o* }! A5 m4 v
try:
/ M0 o! p, ]( Q third_friday = [- Y3 Y* ?( S# a
day for week in monthcal
4 z% l( U2 X( q' c: ^: ]4 J for day in week if* o: k% {% ], s" E8 j! A0 X
day.weekday() == calendar.FRIDAY and day.month == month" a5 h+ m+ P( p: ?9 N
][n]' b! u- G: E0 v& {, y
print(third_friday) # 2021-05-21
- X8 x( H) b& N+ m except IndexError:( y0 e' R( h$ O5 p; f' d5 ^
print('No date found')
5 m4 b- [, p. {% Y' j+ {$ `
7 P5 z* J0 T% y- r# ?6 c 二十三、根据周数获取日期
9 J( `7 b( i9 m( T& X9 L8 l import datetime1 D0 t# D( ^/ z; M/ Z
from dateutil.relativedelta import relativedelta
( X3 v& Y3 p$ a6 G6 _ + ` |# x+ B/ m2 x9 f
week = 25
' C3 h) r& ]* X9 x/ \ year = 2021
6 U# ?/ ]( Z& J# V date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)* E. \) \% P3 E; Z
print(date) # 2021-06-250 v, i% n: _( U! H
, v7 I5 P' I8 K5 U6 ]) b 二十四、获取特定日期的工作日
1 D, |4 h" h6 C/ A4 o import datetime
8 G" p/ a; a k; z/ K, g R* m . h2 t+ v0 g6 d9 r7 ~
print(datetime.date(2020, 5, 15).isocalendar()[2]) # 5
( v$ l5 _2 a- ~3 }: V6 T+ S3 X 9 J- w6 ]* J; a' M/ r. S
二十五、创建一个 15 分钟前的 DateTime
/ c. T8 r& d) `4 V3 r2 @9 R import datetime
u( v& m; y+ ^, j! J #Python小白学习交流群:153708845
7 D0 O( e# K" ]9 [( {* Q dt = datetime.datetime.now() - datetime.timedelta(minutes=15)
/ w# g( |2 M7 R: g4 a, x% H3 \ print(dt) # 2021-05-15 22:25:55.897365& s: l( b g8 ?$ a
2 j+ f- x0 b; Y+ w 二十六、从特定日期获取周的开始和结束日期
$ I$ Q1 x; H+ V import pendulum; c8 R, z* _; _4 N, V3 F
/ s3 f P3 N! |0 {, T, O( Z
dt = pendulum.datetime(2012, 9, 5)
" W5 b8 T: t3 V" G' }# E) U 2 _9 c2 {2 D; {9 ?: H+ q) `
start = dt.start_of('week')
7 k# K( |, g" n3 T; l8 U print(start.to_datetime_string()) # 2012-09-03 00:00:00
6 I& {4 p3 \9 e/ m/ F9 o * w7 H( \. Y1 y& W1 l
end = dt.end_of('week')
7 m! t' a b8 y print(end.to_datetime_string()) # 2012-09-09 23:59:59& p }( B6 \' g3 Z
# E$ c1 H& W/ d8 \# l 二十七、两个日期之间的差异(以秒为单位)
3 q; Y" w) `; F) i1 y from datetime import datetime
) r5 G' J: E% a+ E8 r. w$ Q #Python小白学习交流群:153708845 6 g4 i' \ b! F+ N" F; h
fmt = '%Y-%m-%d %H:%M:%S'
) f9 T6 \0 e6 g: R# f8 l6 d9 d6 i d1 = datetime.strptime('2020-01-01 17:31:22', fmt)
w2 r+ \! I. {! L; y d2 = datetime.strptime('2020-01-03 17:31:22', fmt)
& W0 I5 q0 ?; z6 b; ~' E % N' {: |0 d! a4 s
days_diff = d2 - d1
: g$ S% q# \/ \4 F3 N! ] print(days_diff.days * 24 * 60 * 60) # 172800% _5 R' l2 Z, `& r
% q9 Z# c; e. [1 E( J' f 二十八、以这种格式获取昨天的日期MMDDYY
* D! N( \8 O; f( U from datetime import date, timedelta
+ @/ p- ]% s0 g# p3 |" D# D5 V
3 Z) r2 J" G# r3 P yesterday = date.today() - timedelta(days=1)
2 x1 \3 k# H5 w& \ print(yesterday.strftime('%m%d%y')) # 051421
+ r: C$ n8 O; Y$ t; m3 d3 ^ t7 x* _ : L8 U1 ^" k9 d
二十九、根据今天的日期获取上周三的日期1 m. m! Y$ t" m) p* k- f$ {5 z
from datetime import date
6 u3 d. I2 u& l: E/ S4 c5 h; e from datetime import timedelta
$ g1 t) _: |$ y5 y4 H/ Z
. q3 a1 b: X+ ^8 n6 m" Q ]* O- { today = date.today()
B# F5 j$ G* t7 I! |% w: m- L2 M : v2 Z- \# e# G ~" W% o
offset = (today.weekday() - 2) % 7
8 G( G5 l2 ^# ^- Y! N0 E wednesday = today - timedelta(days=offset)) _- Y! |9 S) o1 R: h" M+ q
print(wednesday) # 2021-05-12
& H9 C2 [4 s: u- i% S. R / X5 l3 B1 H% s1 y+ ^+ v
三十、所有可用时区的列表打印
- u: C( ]; d( J5 h d% g `( F import pytz% p; w' k8 r# I4 V# j' ?7 i
f+ t# B/ L1 B9 t' a& b( M9 e6 ]! u for i in pytz.all_timezones:
$ M) p6 F" e9 l: A9 [ print(i)
7 \' J+ J o. X1 Z% y. `
& i/ d' T" R( z' r' @( a 3 g0 V0 M) M8 C' c' n H
) X- _( ]! }3 I" _/ r5 o
zan