在线时间 480 小时 最后登录 2026-6-1 注册时间 2023-7-11 听众数 4 收听数 0 能力 0 分 体力 7823 点 威望 0 点 阅读权限 255 积分 2934 相册 0 日志 0 记录 0 帖子 1174 主题 1189 精华 0 分享 0 好友 1
该用户从未签到
使用 time 模块展示当前日期和时间
0 R) {8 q* o/ t) L9 W& \/ ] import time
0 k0 n) ^0 D4 r0 W: r from time import gmtime, strftime
2 H4 G8 w8 ?5 J6 ]& r f, t2 [
' `9 z) q4 M' u7 \9 c- Z4 y- g {- u t = time.localtime()
2 i* m! u) {5 v" M$ k print (time.asctime(t)) # Sun May 7 09:30:37 2017
; C6 L" E$ y d# w print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000$ m" l; H) Q3 h# S% t9 a
print(strftime("%A", gmtime())) # Sunday
3 G' ]; p- s, Q& ^4 H print(strftime("%D", gmtime())) # 05/07/17
# s* N6 ~3 }& Q; v* s2 i# ?& u print(strftime("%B", gmtime())) # May2 G6 s! I2 V. q
print(strftime("%y", gmtime())) # 17
3 x$ Q+ v" R6 @ ; r6 d2 [1 j; S. t" x5 ]4 b& F
# Convert seconds into GMT date
# f- S9 d, _- t, l print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +0000
# c' O5 g9 ?/ ?. w: P! G7 l : a2 A0 q6 F3 d
二、将天、小时、分钟转换为秒: w! O( A: Q# K% S1 _' V
SECONDS_PER_MINUTE = 604 |; Z6 m. c9 z3 U
SECONDS_PER_HOUR = 36004 Q! ~2 {8 v& Q/ G* P3 X5 H7 O. t
SECONDS_PER_DAY = 86400. Z, l3 W0 V2 z" Y
5 |' y! u. I& {+ s
# 输入天、小时、分钟、秒的数量
0 y# s3 w* {; Z3 E days = int(input("Enter number of Days: "))
8 O* F5 q$ [! p6 q" O j, b hours = int(input("Enter number of Hours: "))/ Q/ o* b2 a% Y* z
minutes = int(input("Enter number of Minutes: "))
1 M/ ~6 f% o1 b7 h seconds = int(input("Enter number of Seconds: "))0 j0 T! c$ j8 f& L
4 j+ N4 W' @' g # 计算
8 {" H y! S" a! Z total_seconds = days * SECONDS_PER_DAY7 g! U1 \4 S1 G& ]2 ?$ ~; K8 c3 g
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)
/ \! m, I/ W @) ?: S+ Y total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)
4 w) o( y- u: m4 h' N2 S total_seconds = total_seconds + seconds
* `/ q+ w7 j0 i7 S8 {7 ?( D! x+ w/ V
% S, z: g. |# Z$ h& ]/ b' k! j # 结果, ?* o+ K O% z$ B1 p+ O
print("Total number of seconds: ","%d"%(total_seconds))
% l3 d% O8 v. r0 q: ` ''' K9 a7 V4 X( W
Enter number of Days: 5
0 p" u z3 `5 i& V! Y; N Enter number of Hours: 36
* T* i9 T) c; w5 N, K Enter number of Minutes: 24
2 @3 n6 A" l3 l" H( x8 ~( L; _ Enter number of Seconds: 15" r* Y& \# n3 p* _! s/ N' }, V( j& j
Total number of seconds: 563055
" h. T( |4 D6 S } '''
" ~0 `8 x, v4 O
" {0 A) x4 H" a 三、使用 Pandas 获取当前日期和时间
$ u+ {* w: E/ _& E1 @$ d- r" G1 e import pandas as pd2 X% @1 F' Y8 W) {& c
print(pd.datetime.now()) # 2018-01-19 16:08:28.393553- }' j0 A% [ p
print(pd.datetime.now().date()) # 2018-01-19
9 K# j7 C! j, R/ H' N' M& J print(pd.datetime.now().year) # 20183 t& }9 O4 r- x- r" i( X' Z+ p7 \
print(pd.datetime.now().month) # 1# e" d$ j" M2 ?3 [* R
print(pd.datetime.now().day) # 19
9 R6 g7 A( ~& @; X2 @7 q1 Q3 Q print(pd.datetime.now().hour) # 162 b) b5 \$ X6 r3 _4 Q$ b( O! s
print(pd.datetime.now().minute) # 8
3 t: a1 B0 m, O! \/ g print(pd.datetime.now().second) # 28
2 k3 h5 I; `9 U7 J$ s" q3 `/ Q print(pd.datetime.now().microsecond) # 394553, e. v5 R+ V6 P: i
; a: y" @( g7 l$ P2 t
四、将字符串转换为日期时间对象
; P2 W# x& c, B7 `# K' @" } from datetime import datetime- l/ R7 A9 M- \& B7 y( X2 H
from dateutil import parser
7 d) e2 R5 [1 v' |3 S+ Z7 P ) ]+ Z5 ^0 M4 s0 d
d1 = "Jan 7 2015 1:15PM"
. k. v& z# U! r! ? d2 = "2015 Jan 7 1:33PM"
9 D9 g/ l; }1 E9 R5 c0 t r* M
; O9 J! c+ c: n4 _6 C( A # If you know date format) r) s, y$ v% a& t- N% g1 T
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')
4 _; U( _& ]& T7 ?* ]9 R print(type(date1)) # class 'datetime.datetime'
5 I( \, u1 t# Y( h3 [6 { print(date1) # 2015-01-07 13:15:00% ~ v. I4 {6 w
( Y) L! _; a4 f/ ^9 `, T6 ]" A
# If you don't know date format0 [; o' [5 _; M% W8 \& C
date2 = parser.parse(d2)
/ C8 ]! [1 L* Y+ l print(type(date2)) # class 'datetime.datetime'
! v( \* ?1 \" B& b/ M7 X6 n print(date2) # 2015-01-07 13:33:00, X2 B! M# W3 Z2 O* J
$ S' q) y9 X% T8 a
五、以毫秒为单位获取当前时间/ w) {* {. M; s4 O
import time
' U, w! f9 F$ L; T' n3 Z 5 }" _' X( Z. l% u8 J
milliseconds = int(round(time.time() * 1000))
0 E6 L: \& o: f/ [( O# z [# Z print(milliseconds) # 1516364270650" a. x& C0 @$ t1 N/ Y1 W: K4 `1 k
) |% Y* o2 h4 W. k8 z( C 六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间' g, C( O5 i7 E/ d( ^0 C
from datetime import datetime
/ g x! Q0 Q* Z6 j from pytz import timezone
+ I0 x" m- a" Z& K+ k) @
$ }7 U1 s T( r% w. W mst = timezone('MST')
5 m/ M6 `, s& W" X$ d0 [) n0 G print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:002 }3 i; L3 q# V9 b
est = timezone('EST')" c. D9 R2 Y! K" p8 n
print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:00
( @" v5 o* u0 x C( [! x" A$ S utc = timezone('UTC')1 {2 q2 b- v; l% @
print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00
. }8 i5 d( { K, _& _8 R gmt = timezone('GMT')8 Y% L( s' P- ~
print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00
" Y/ U" Z' G0 U7 h2 ~7 l. s! F8 J( Z hst = timezone('HST')2 b0 D# ^ Z# p$ ]4 t
print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00
+ l- w* v- g% T( }2 v
2 h) |- i a& b+ n( `, L0 c 七、从给定的日期当中获取星期几
3 c' o# u' r+ B5 A4 [! [( ~ import datetime
. ^& m+ s/ @+ b% s5 C
l1 P- {" n8 r* u3 C dayofweek = datetime.date(2010, 6, 16).strftime("%A")
, `/ ~7 g) e1 m+ l print(dayofweek) # Wednesday
% J E# Y: o3 q, l 6 A r+ ?7 ?" C$ b2 @8 ?9 C7 c0 n
# weekday()方法: 0代表周一,6代表周日5 k9 ~9 U; q' w& e5 q: z
print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 2+ a) t5 Z' M2 e9 `7 k y
7 C& j: Z# h/ ?3 i" T2 Z9 E # isoweekday() 方法: 1代表周一,7代表周日
/ v8 c% N, ]' M" f6 T' W" W/ Q! [ print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3+ d. C) z6 D C5 L% U7 K
4 _) a8 n" J# q# c
dayofweek = datetime.datetime.today().strftime("%A")3 @+ D$ e, g7 z% w/ T7 S! f
print(dayofweek) # Friday. f1 d$ P9 F2 S9 F+ B
print("weekday():", datetime.datetime.today().weekday()) # weekday(): 4
3 S* \' ?. e) h }5 X: V print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5
& b7 j, \7 R2 e1 z6 K ) B5 W; D3 v; D1 R
八、计算两个日期时间对象之间的时差
/ `/ S) X2 I) R3 a2 L5 r3 K import datetime) y8 v3 |4 i' K& A3 Y
from datetime import timedelta
; K6 Z! N+ I- o 6 i* U0 r/ }* _
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'4 z R7 T# D: X" g9 a' ~" D; n
date1 = '2016-04-16 10:01:28.585'& Y$ F+ {% X7 D2 T% `0 X
date2 = '2016-03-10 09:56:28.067' Q( W" y- a' b
diff = datetime.datetime.strptime(date1, datetimeFormat)\% ]3 x: l! p5 ~
- datetime.datetime.strptime(date2, datetimeFormat)
$ Z, U( N% f; ^ : h& j$ t a/ a. O- g* @ f
print("Difference:", diff) # Difference: 37 days, 0:05:00.5180001 l0 s, }$ o8 h1 f: ?2 q0 y/ e
print("Days:", diff.days) # Days: 379 \/ p5 ^6 _$ A. _1 W; U
print("Microseconds:", diff.microseconds) # Microseconds: 518000# W, X) J2 y& c# r7 o$ W, L
print("Seconds:", diff.seconds) # Seconds: 300
5 a w8 Z5 N3 L0 N* J7 q. E2 V1 r9 P( Y . U m1 q7 B2 W
九、将 5 分钟添加到 Unix 时间戳
$ R: }( X) M3 d$ i" c9 a Y import datetime
9 W7 S) F* d4 H! R/ J import calendar
+ O( y; H" K9 ~, s2 i- ^3 T c % o0 u# }; E0 P8 H7 {8 x
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)- [2 d0 b2 R( e5 J
print(calendar.timegm(future.timetuple())) # 1621069619
. v8 K( M* U/ o; O5 m % X) i2 l! f' f6 F# n$ I
十、遍历一系列日期6 f3 \% f8 C3 i2 z: x+ S+ E
import datetime
; ~5 h$ Q8 V' n% D$ p
0 ?/ r* ^: v: }; u start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y"), i8 v7 _# l. s6 @. x* s
end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
2 j7 I! \) B* @, }( L9 [ date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]- ?. n: s) B2 I: A
6 e" a0 \) R2 W for date in date_generated:
/ x* Y3 B8 i) J6 e: Z1 i" O print(date.strftime("%d-%m-%Y"))6 F& x% \* M+ g1 p
3 F! F/ @* K% V; c
十一、巴黎时间更改为纽约时间( A9 C( d R/ Z7 Q% c; i
import pendulum
g# s/ D$ p L # J4 l: [* Z: R' P7 v7 v" y- p% \
in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')+ M8 [) O$ L: [. g: @
print(in_paris) # 2016-08-07T22:24:30+02:00, ~ S9 d& M' @& B% p9 v/ t
1 J9 L! ^0 Z" T. p! R) `: j& m
in_us = in_paris.in_timezone('America/New_York')1 q$ t* D: u8 C1 a
print(in_us) # 2016-08-07T16:24:30-04:00
+ J1 L5 }" n# i6 @* h : B- l( n" b& w* r
十二、使用 Python 获得最后7个工作日
! b# C3 k" Y8 X3 \2 T from datetime import date+ P# E3 _9 I1 ^# f" p4 O1 }' {
from datetime import timedelta
/ `' Z9 A+ P! k $ ]6 A$ M4 ]+ Q Y
today = date.today()
. j' y: }* c) r* C. O; D. B# k + S2 a( b5 x- b2 v D
for i in range(7):2 D5 B6 e, U& U! c% N; f
d = today - timedelta(days=i)! ~; j* l I. y' Z# ~; [) ^ h
if d.weekday() < 5:; U5 V* E; ^ \1 l y) e% C
print(d). N$ p( f* x( F U5 R; X: ]+ f$ @
6 e" E l9 z, r* X 十三、从今天的日期和一个人的生日推算年龄 ]6 E/ d S4 x+ ^8 W1 E
from datetime import date2 S, i( i: O& _# l! ~
. |& [: w6 t* T$ R' q
: T! T2 D9 c6 L" |" o# z* [, ~ def calculate_age(born):, u: w, u% \% ~' P% s5 @
today = date.today()' S' j# Z0 E! }
try:; [8 \, I9 Z3 g" x
birthday = born.replace(year=today.year)* K. G5 j4 f/ f* n! n
except ValueError:
& y U7 L% T- H$ o5 W& h birthday = born.replace(year=today.year, month=born.month + 1, day=1)5 z5 R2 `+ U! B
if birthday > today:
$ S" M' Z+ [9 t0 W$ e8 B return today.year - born.year - 19 j2 J! O& @0 U" O
else:
1 Z$ F' C+ S' v9 [ return today.year - born.year7 B# Q" ?4 {# s3 d0 d8 C# G, o: H5 n
/ b _! K/ d% d* Y4 U8 d
, S( p. v3 _8 [' G3 f7 R7 X' H print(calculate_age(date(2001, 3, 1)))4 C/ E- N; W9 r8 U7 V
( y( y* c9 L: T2 M6 \ 十四、获得本月的第一个星期二
. l1 T6 S& M0 Y+ T import calendar) \; L# M% _* K" l- L
from datetime import datetime% |9 N- J( t/ S* \
5 _# c: v: G( Q/ }5 B c = calendar.Calendar(firstweekday=calendar.SUNDAY)
6 {% S. I# B7 H2 m v1 u monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
$ h3 t3 R. z3 b O+ E* n/ m; a! a #Python小白学习交流群:153708845
+ [/ K$ M, ]. t* L5 b try:4 m5 j: R9 f( @) G6 S
tues = [day for week in monthcal for day in week if
( i1 w7 `' C4 j' a day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
8 Q$ P$ h. ^* q print(tues)9 }# n a* t; y: M. ]! r2 Z- p
except IndexError:# n/ ~; w4 U8 e% W& t
print('No date found')# O, {, p& u& V, ~
$ ^; L9 k1 r+ o5 P" n) C 十五、将整数转换为日期对象
. h/ C. E2 x+ Q! g5 J, y4 J from datetime import datetime m! `2 ~+ @: k7 d. h
. D! I! |0 `2 e$ ] i = 1545730073
6 Y) H: Q2 k. J" b% I& D; @# i timestamp = datetime.fromtimestamp(i)9 D: x1 ], q3 g" @! a" Z
* D) p0 }! ?, b' a" ? print(timestamp) # 2018-12-25 14:57:53
* O& }7 ]4 }# @0 u1 n$ P( \- C- y print(type(timestamp))
7 q! J! E1 ?3 R1 Z- Q 4 }+ s/ n4 S/ s6 N+ l @
十六、当前日期减去 N 天的天数, I( M" P+ W4 h. D( f U0 r* N
from datetime import datetime, timedelta% m5 h. }' y" X& Q' e
* ]# y4 a+ V, d! @
d = datetime.today() - timedelta(days=5)
6 Y; r5 i, c# X) U1 x k! c0 Y; t print(d)
$ |) t2 C/ {" D8 j% ?# z! T g 1 _4 F3 k0 N' {8 |* y
十七、比较两个日期$ G* x5 \6 t0 l8 D0 N
import datetime
% r8 A$ ]4 b; ?- k* n
: [3 M1 b6 s6 l' u% [: y3 |% D/ e a = datetime.datetime(2020, 12, 31, 23, 59, 59)7 R& o7 Q; ~8 k- E! M; A
b = datetime.datetime(2020, 11, 30, 23, 59, 59)! }1 q( X! L- J. M& f6 w) }% U
* o! k' A @/ d; E1 }6 w6 a8 z print(a < b)7 e0 l& Q# q) w) ?3 [% L
print(a > b)
: L7 N+ z! B1 n4 G& ^. E! v / C# |. B( D: R$ d. E- Q; q1 |
十八、从 datetime 对象中提取年份
! [" U( j0 s; G b1 T9 Z import datetime, F* c) x+ P( u/ A$ {
# \4 O c# l n5 s
year = datetime.date.today().year
+ O3 D% x; r0 k. R1 { print(year)9 m8 U! e! W: |
! t7 y* ?4 c) ]; q6 d+ q6 _/ T
十九、根据日期找到星期几) Y, a. \( P6 T! g6 |, Y& }
import pendulum+ `4 y d5 U- n4 O7 U; }% \
; [8 [. T7 `5 K+ D
dt = pendulum.parse('2021-05-18')
0 C* [; R# h6 w( N* q print(dt.day_of_week) # 2
/ K& J! @8 N: W/ [& m4 B# T$ b 5 H- E o) Y8 ], {* M; }" _/ j
dt = pendulum.parse('2021-05-01')
& s/ C0 V# k0 {- v% T6 y print(dt.day_of_week) # 6( w; N5 @: k% b: h
1 a X) M% Z7 w dt = pendulum.parse('2021-05-21')8 H& o8 r2 }0 c9 Q7 W
print(dt.day_of_week) # 5
, T+ \, z" _) C/ G J( r t
0 x: l) K/ I& r 二十、从当前日期获取 7 天前的日期+ c7 b7 _" V& A+ ]1 \2 n- X4 ~
from datetime import datetime, timedelta
4 R; M" Y* P0 F0 C7 \
4 O9 |; f& Q* L; D& H5 [ now = datetime.now()1 M) v% r% F" Z+ L
) z, Y* ]( r2 @: W+ @. U$ Z for x in range(7):
t/ _, {+ ?6 |% w4 W3 a d = now - timedelta(days=x)
6 z. L7 p$ Y! G% g print(d.strftime("%Y-%m-%d"))
5 D0 R3 j; L4 R" H; x
) Q- d; _) ^* F* W# m, B2 V 二十一、将两个日期时间对象之间的差值转换为秒
4 X! w" e( Y$ e9 h import datetime1 y* I: B' u. c$ U# m
. X/ M6 J2 |7 F/ v# N. b1 {
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y'). x4 x5 I, Y" I: G8 H
time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')/ F+ H3 ^* O6 k. P6 e
. _& r) \ K, Q) F' w, i/ ]5 f difference = time2 - time1+ G0 k, }$ w( S g9 V: p8 t' T
print(difference) # 6 days, 0:00:00
( V- ^; n4 S2 k8 Y9 s . a" z' v. U5 N3 F% ? d
seconds = difference.total_seconds()
7 S3 y. V+ x: C" {% j print(seconds) # 518400.0
" m H3 i& \& p6 V7 {& V2 P; t : b! {9 O. U: g6 U
二十二、获得任何一个月的第N个星期五- b2 B2 ?, p0 H% a! A
import calendar
2 L( V9 M, X/ P i3 s% k S! i2 E6 ]4 U( Q. u: T
# 取2021年5月的第三个星期五
+ Q# \/ `& W9 j) h( ~ c = calendar.Calendar(firstweekday=calendar.SUNDAY)
2 u6 @0 w, u0 m( D year = 2021
" P9 c9 n1 R( ^# S month = 5! L& I/ i( G8 U$ Z
n = 2 # 取第三个
5 E) s) c) b( s monthcal = c.monthdatescalendar(year, month)# h& J# z, |# w3 X( n; R6 }
0 f- U5 p* \& ^ ~; d
try:+ J: K' |- p1 ~2 }# W
third_friday = [2 C2 k3 U0 U0 |8 r
day for week in monthcal ) q f! b, ?# v/ V8 p
for day in week if* F7 |+ V5 F$ i! N2 `
day.weekday() == calendar.FRIDAY and day.month == month9 D. |# ?. M5 e) u; B" J
][n]
. j1 y' @$ G9 U% q4 X" m( s. ? print(third_friday) # 2021-05-21
2 c0 l) _0 n2 }$ ^ except IndexError:
+ h. T. ~. E; ^2 q$ L' \7 `7 S print('No date found')6 ]4 P; q5 n( q8 x; Q3 q
0 K. r6 L4 ]) ?, w! |, ~
二十三、根据周数获取日期
/ M" K" {) D6 R& P+ v5 o import datetime
1 H# W! n% E7 ?) u1 h$ J3 G* c from dateutil.relativedelta import relativedelta9 ?& f1 q8 V& j
5 \+ R5 h% @$ }0 [1 I @ week = 259 P- ?6 I% \; Y) d1 w8 D
year = 2021
6 U# x. b: D' B7 E8 n date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)4 ?0 p' M2 x' @+ Z
print(date) # 2021-06-25: o7 G# b2 d2 K( Z8 B* R
$ L" ~1 p7 _6 C4 G, w" h- }7 r1 |
二十四、获取特定日期的工作日
4 V4 x! A2 ^) b import datetime
2 T" T$ F! t3 f/ z( c
* f" A; y5 Q; v- C1 H7 t print(datetime.date(2020, 5, 15).isocalendar()[2]) # 5
+ E7 Z! ~+ E* ~% i 9 W1 L% a$ |& U* [ I
二十五、创建一个 15 分钟前的 DateTime
8 H0 V: e7 ^ ~. U" A% t2 s import datetime$ [, P( M- o" u& R3 J! D
#Python小白学习交流群:153708845 , ~! r* y# k s" [% @% _/ n7 K
dt = datetime.datetime.now() - datetime.timedelta(minutes=15)& T0 m* n1 M# \
print(dt) # 2021-05-15 22:25:55.897365
1 D3 g: E+ o# m3 {
4 U6 G5 w8 r" w 二十六、从特定日期获取周的开始和结束日期
8 X% d. T0 C- m$ M4 _ import pendulum% b6 K7 y4 x5 I3 X" T$ Y# m
% W* d6 ]6 F9 L: I3 c
dt = pendulum.datetime(2012, 9, 5)
$ G5 y4 f; V. P% \4 Y- j2 c& y$ A + G n( y- K! {$ q7 a- R E' H
start = dt.start_of('week')
7 @% C2 h- ?) _2 `& G print(start.to_datetime_string()) # 2012-09-03 00:00:00
5 K( r$ `0 X' F7 v1 Y0 H
! e. e( b+ t/ P% W+ l end = dt.end_of('week')
7 O: X- Y3 B0 | print(end.to_datetime_string()) # 2012-09-09 23:59:59* D2 }* p7 j) c1 k6 }# _! Q
( P) J0 k5 B) i3 M/ s! d. |3 } 二十七、两个日期之间的差异(以秒为单位)
: S# W$ w8 U, ?" r- B, l from datetime import datetime
+ t- j/ b' c! I j7 l7 E7 x9 L #Python小白学习交流群:153708845 ' @+ e- e7 l: A
fmt = '%Y-%m-%d %H:%M:%S'
/ y0 R+ z9 O" m: w, B5 y d1 = datetime.strptime('2020-01-01 17:31:22', fmt)
6 v! Z; {# h6 n( b; K g6 |7 J! N d2 = datetime.strptime('2020-01-03 17:31:22', fmt)2 y! k( g/ g1 w6 v# W& U N3 W
! q' N) Q$ }3 q
days_diff = d2 - d1
9 C& f5 N# L- b) g7 z0 M! O4 A4 y print(days_diff.days * 24 * 60 * 60) # 172800. m3 e# J5 }! @' _6 S& c1 d. ^
& r7 K4 w) n# E- ~ 二十八、以这种格式获取昨天的日期MMDDYY/ N/ n7 ^! ?/ s F. g0 s" _
from datetime import date, timedelta% U# S Z" {& Y$ n J3 K
- R% o! k( [1 b* o
yesterday = date.today() - timedelta(days=1); n. M3 g3 `1 B& }- l5 H# j: |
print(yesterday.strftime('%m%d%y')) # 051421
% D S* M# c6 T% S& m
: D( c1 K4 x, y) ?0 G3 C* U 二十九、根据今天的日期获取上周三的日期& S4 M& U2 ^: w
from datetime import date
2 ~4 E; M. p' E from datetime import timedelta
8 {7 N/ M5 X X1 r6 f , f! V) _+ P/ v- Y; w6 g6 ?3 r
today = date.today()
1 d+ U% n6 K. r ) Q4 {' _& `- c+ x$ F7 h& Z; ~
offset = (today.weekday() - 2) % 7
3 W2 S3 l, d9 B0 n wednesday = today - timedelta(days=offset)( f, |: f' X4 }! z' L* Y0 t, F
print(wednesday) # 2021-05-12
5 G3 n, X& B# T! k" ? + b4 P, K. I+ S6 D8 L3 t2 o3 y
三十、所有可用时区的列表打印
6 B+ ~0 f: U4 A import pytz5 H* u* K" O$ n" e( X5 B
$ k! ^2 ~1 c7 k5 b Y7 A+ T
for i in pytz.all_timezones:# b% z. L& y1 A+ Y
print(i)* [' {/ B2 a/ K- d* F0 r
' m6 {4 P" L ?+ u' H
d" w" L' H( g% J! s
) `$ t' ~' O) i
zan