在线时间 478 小时 最后登录 2026-4-9 注册时间 2023-7-11 听众数 4 收听数 0 能力 0 分 体力 7788 点 威望 0 点 阅读权限 255 积分 2922 相册 0 日志 0 记录 0 帖子 1171 主题 1186 精华 0 分享 0 好友 1
该用户从未签到
使用 time 模块展示当前日期和时间" v1 t1 q) S0 _7 d# p6 O
import time6 V" q0 x* W& h5 a$ i
from time import gmtime, strftime
& e8 b. {' x {) i- L; p
; G3 d5 J0 \5 q1 \ t = time.localtime()
' h( |# ^8 y: |: k4 N print (time.asctime(t)) # Sun May 7 09:30:37 2017
1 r* G8 K3 ]; T J" Q9 w print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000
/ o# y: b% ^; w# y7 [8 I print(strftime("%A", gmtime())) # Sunday
8 _0 M/ h/ u) {) }! y print(strftime("%D", gmtime())) # 05/07/175 u* E) v/ r, ?& H4 r
print(strftime("%B", gmtime())) # May
2 n: i+ Y& P; q0 ~4 P7 B print(strftime("%y", gmtime())) # 17, v6 `& Y- r4 i! m [: K. [
7 c, U9 r* J, t # Convert seconds into GMT date- n P" n! o( X3 s& M' G0 Y& E
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +0000
. h) S1 u& h( h' g9 l $ n$ K8 G9 ?# Q* I
二、将天、小时、分钟转换为秒
+ N; c, k8 R$ j SECONDS_PER_MINUTE = 60( {9 J: f5 n. s. T1 n U& i# S
SECONDS_PER_HOUR = 3600. X4 w7 x$ W2 h) b$ g
SECONDS_PER_DAY = 86400
' v/ n/ `1 d8 x9 M9 A) W. e * T5 g" a0 K, u! D; D
# 输入天、小时、分钟、秒的数量0 [0 x1 E- T+ ]
days = int(input("Enter number of Days: ")). w' ]6 g0 R4 b4 Y& r, L+ F
hours = int(input("Enter number of Hours: "))
4 B' _$ @7 l* ]8 S minutes = int(input("Enter number of Minutes: "))/ h+ B9 ?& V2 Z) R2 V1 E: ~5 N; C
seconds = int(input("Enter number of Seconds: "))) s9 ?! @# G4 f" [+ x6 h
/ P& \7 h* |2 N9 e# K
# 计算
; p# h% E8 ^2 T; b& @) V total_seconds = days * SECONDS_PER_DAY+ }7 ^8 u$ I: f) a
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR). }% u7 S0 J7 b
total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)
0 B0 }! B: S% _3 x' L total_seconds = total_seconds + seconds& @- a' T' B) O: c
$ z0 d" A( c8 K- r: s. C# d
# 结果
( ~/ \, @! \' c; G& _, Y print("Total number of seconds: ","%d"%(total_seconds))
6 w' `2 [2 L; i8 w) L1 }/ W '''8 W; Q5 B3 U, }# T; e2 C$ p4 Q
Enter number of Days: 5
3 P/ R5 ?6 C; i: q! y Enter number of Hours: 369 T6 a U3 `, H3 H2 \0 n
Enter number of Minutes: 24# d. ~. F) Q4 V4 ^
Enter number of Seconds: 15
r; Z- f1 V4 ^: K V; w8 I+ o2 ` Total number of seconds: 563055
2 D1 [5 X2 r7 ~7 v! a! U/ ]( x- ^- u '''
7 A- x# i" N" w8 |" c, N / {: j' D" w. _& ?& X+ N+ r" e% s
三、使用 Pandas 获取当前日期和时间
0 J4 V; |/ g X; y# x import pandas as pd1 u" Y* b& z; ~
print(pd.datetime.now()) # 2018-01-19 16:08:28.393553! ^7 Z. i: B7 w
print(pd.datetime.now().date()) # 2018-01-19 k( L% Z) d5 F& n7 g4 Q
print(pd.datetime.now().year) # 20189 Y' W, D# S7 z% r. n
print(pd.datetime.now().month) # 1: l t' u1 O# u# O& w0 f" N. @
print(pd.datetime.now().day) # 19
: ?+ K9 q* [ P( @% Q print(pd.datetime.now().hour) # 16
4 p& ]0 y& G* @3 x# H print(pd.datetime.now().minute) # 8
9 Y( L8 B4 x+ t4 G1 \ I$ ?2 X print(pd.datetime.now().second) # 28
* u: Q, I8 K! v print(pd.datetime.now().microsecond) # 3945531 z/ b) T" N' ?# i& J6 i! G" T8 Z
! z$ J) I2 N2 K$ L+ I8 J# i% w9 J7 U# o
四、将字符串转换为日期时间对象$ Y! r8 S% y* J! C1 ^
from datetime import datetime2 D9 Y. z6 D; A, Q/ m
from dateutil import parser
4 O/ f! ~0 `8 @1 D" n$ V$ N/ |9 H
- b" |* |! ?: q, J, r6 r d1 = "Jan 7 2015 1:15PM"
3 f5 X, e$ ~ h2 v+ V d2 = "2015 Jan 7 1:33PM"
' p: C" D5 L+ k+ E9 Z, O& Q; O ; V8 [, ^2 Z: u
# If you know date format
; f/ Z" |3 D7 w8 |3 j date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')
/ W1 n, L: u& Y6 ]+ M. v print(type(date1)) # class 'datetime.datetime'* J$ w' s, }( e4 u! Y% o1 n
print(date1) # 2015-01-07 13:15:006 a; [- L$ \. r& n
9 A& s3 g1 J) M, i) |+ E) T
# If you don't know date format$ B) ?/ }" V" R4 ]& I$ a; C
date2 = parser.parse(d2)1 G" p( ^. K& p0 U
print(type(date2)) # class 'datetime.datetime'5 u9 P, T& h# h; [* {- c3 f8 L! `
print(date2) # 2015-01-07 13:33:00, r% a7 v" D; ]7 U) L
" e" J, ^8 n# Q. q8 l 五、以毫秒为单位获取当前时间
4 w% V- F8 e) W5 V3 r6 C7 x7 ? import time
; g4 V: H1 h- K0 x8 _- D! b : V% ^- R1 N0 o( Q5 l
milliseconds = int(round(time.time() * 1000))
" u: m7 y' i) p6 D print(milliseconds) # 1516364270650$ U8 I+ }; l& i
$ D- R$ l0 M/ O 六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间
R* u0 Y9 d$ H {6 @ N& S( K from datetime import datetime- @1 j- v; e W* }
from pytz import timezone! R0 z8 Z3 D0 H( i; S* n$ D' o
8 q4 C, {! O: b+ z* z& A
mst = timezone('MST')
+ u' ^( U+ L6 `& } u' [ print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:00, i2 x) q5 _, F. P! B) U# K. M8 j
est = timezone('EST')
& M& V6 u0 ~' J" o3 }) O6 ~& ^ print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:008 }" y9 ]# B. E! s5 i" d
utc = timezone('UTC')- b' X/ t9 ^+ Z
print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00
' [* g" s6 t! p5 k9 ^ gmt = timezone('GMT')
3 B2 P% D- G, E print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:000 e0 t& j& M6 K H$ E% @' |
hst = timezone('HST'): i4 l( h' b' K1 \. `+ n7 _. R1 R
print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00' k5 V7 b+ l E' K1 ^( P$ S
l+ z3 ~, R8 B# ? 七、从给定的日期当中获取星期几
( u( T; t* f* n+ z, i) n import datetime
: S' k0 R/ ]& y9 O" b! x" h1 w & e8 X( T% G: ?4 |3 m
dayofweek = datetime.date(2010, 6, 16).strftime("%A")
/ G2 h- V8 v% s7 b! J+ U" } print(dayofweek) # Wednesday
0 u& K1 _- q7 b, t: x ( [; P4 J9 h4 {9 v) |% ]' J
# weekday()方法: 0代表周一,6代表周日9 y' s: V, r ?6 L! N
print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 2
' f) |1 N* d/ [1 z $ C) o. ~ c( L b' L
# isoweekday() 方法: 1代表周一,7代表周日: ~# X- x: g, W. H
print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3
# ] ~$ l% q% v: X; P
5 G' W. N# N: z o9 y dayofweek = datetime.datetime.today().strftime("%A")# z" n' u4 g4 W) U- V% l+ j1 {
print(dayofweek) # Friday2 u; q# f; h9 _5 P" b
print("weekday():", datetime.datetime.today().weekday()) # weekday(): 4% c$ e0 `: J: b+ f9 G
print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 59 Q; a' D( f( g. {
; b' j: m3 `8 F: ]* H- N' I 八、计算两个日期时间对象之间的时差) K3 g! e6 C6 X9 r) C# M8 \
import datetime( _) A# G5 U# X, n
from datetime import timedelta3 x/ y$ r) ^4 W8 `' q$ f9 G
+ k7 r7 d$ X e) U datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'
! B R/ ~$ n$ a; z* X* i/ @ date1 = '2016-04-16 10:01:28.585'
. e* G3 U) y) g/ w3 ^! Z2 y date2 = '2016-03-10 09:56:28.067'9 A0 z! g2 y6 @- Y" P: v6 |! u$ D
diff = datetime.datetime.strptime(date1, datetimeFormat)\5 C. X5 l. v! d
- datetime.datetime.strptime(date2, datetimeFormat)
) }$ [( s5 j3 a7 |1 E $ S0 {$ T' }- _$ M
print("Difference:", diff) # Difference: 37 days, 0:05:00.5180005 l+ y. z# U0 B- d
print("Days:", diff.days) # Days: 37
( ?8 I: D4 U" P8 ~7 v* G' y print("Microseconds:", diff.microseconds) # Microseconds: 518000- ^* `; j6 C9 I
print("Seconds:", diff.seconds) # Seconds: 300& C+ F3 P q! l5 `0 c
' N, L- v3 U7 P2 z' \
九、将 5 分钟添加到 Unix 时间戳
% A1 q# N! ^# p& t6 r) D9 a+ x1 y/ Y import datetime" \1 V' O0 r2 l& ]: V8 b6 e8 L! O1 g
import calendar
1 B3 k# a% ]! v- }* y 5 E1 P; U! N8 L0 A
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)8 e( u+ }+ [- o9 k3 w4 w, J- m% G
print(calendar.timegm(future.timetuple())) # 1621069619
) Y2 h5 R5 @7 \1 r1 v: v$ W 2 K0 F1 n8 ~& C. \8 E! b0 C6 [$ B! U) w
十、遍历一系列日期! U1 I2 i* O( D' r( X
import datetime
0 a' p% V3 F, D; l* C/ A5 R
, R; H: H# I* G+ G& } start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")
$ v* v: t; f8 c2 Q) p, v+ E end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y") I0 X+ s3 D& G5 t, @0 ]
date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]/ B; |. a$ q- J2 g
" V( k( Z3 V C z
for date in date_generated:0 Z m/ q$ [: o( o; x: u; }
print(date.strftime("%d-%m-%Y"))
$ F9 \5 a- m4 G% E+ \2 a8 j0 b( c( u
# x8 @) {8 \8 Z. F Z6 _$ \' A 十一、巴黎时间更改为纽约时间; e5 O0 d# h) i/ B% y, w o
import pendulum
, X6 H6 ]; j: M/ y8 K: |
: |( x4 A8 `5 w% B4 I: d' v" y in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')
, c& _+ J4 o: O+ S# s print(in_paris) # 2016-08-07T22:24:30+02:00$ Y4 I4 \( c S; `
+ J w3 O9 d1 K) \& A7 O in_us = in_paris.in_timezone('America/New_York')
+ y/ [1 M0 z, z+ _6 U print(in_us) # 2016-08-07T16:24:30-04:00
! j: ?1 H1 S" @- m( s, t0 x3 M$ S0 |
. X% ^* W6 m U 十二、使用 Python 获得最后7个工作日
# u/ L& ^7 u8 j# _ from datetime import date9 A1 c- X. K$ d( S
from datetime import timedelta+ n# }% t) @; n% }8 ]( a3 u
6 u7 O6 F4 ?4 U h, _' d* o: t% ^ today = date.today()$ `$ l; Q( `: m" o
0 D6 d. d' r+ k0 S+ B& n' w# v, F for i in range(7):
9 m$ ]4 P/ f' J4 u7 q% q/ s. W# e3 \ d = today - timedelta(days=i)
: O9 T7 y; r$ U1 N! | if d.weekday() < 5:
7 }4 @. e3 T+ _- _; S! t# ^ print(d)! r J. e+ d9 n- n8 R
" g% j( e; G0 W8 q; W0 K3 V" Z
十三、从今天的日期和一个人的生日推算年龄
" n+ G1 I) x# @" N0 n4 D from datetime import date
. \; f" T' p1 |4 q8 F: I- o# E8 P+ z! R
. f9 _: ]+ l6 V7 R9 {4 m- O ( P) W- e( ], u2 z# v3 Y
def calculate_age(born):
8 |2 }4 {- q* W5 g today = date.today()
7 K0 q8 A% Z; u' z try:
) C+ K" |9 y4 P M, L& Z. {: a birthday = born.replace(year=today.year) x6 x. E& q$ G. x% |
except ValueError:# G% W* T" O1 w- V
birthday = born.replace(year=today.year, month=born.month + 1, day=1)
* H4 A; G9 p- V. z! x, B if birthday > today:; H! t4 t# i$ E
return today.year - born.year - 1
: P# D; Q+ c% u. Z5 ]0 E: y else:
0 N* |: ]1 w; b7 N+ M return today.year - born.year
) T- B6 K" `. Q- m
; n+ i) B" z9 G" a7 L 2 p! M' e w, w4 j( @
print(calculate_age(date(2001, 3, 1))); H5 h1 y6 Y8 [* `9 ~0 s* ?+ K1 t
1 b" l9 t5 D& v7 |( T/ ~7 M
十四、获得本月的第一个星期二
% @% l: U. @8 ^! F% P* n% e' T import calendar
0 g& y6 @ b2 ~& Z' X- S from datetime import datetime& o; a. {% J* `% n
` G' s! w9 f% X# o/ \: M$ {" a c = calendar.Calendar(firstweekday=calendar.SUNDAY)
3 l! A) l/ U# U# N2 D monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)9 y" V7 x1 v4 k, k
#Python小白学习交流群:153708845
( o" n6 M1 ^, e3 g0 X, ? try:$ H+ S. _6 @. z
tues = [day for week in monthcal for day in week if
2 b% i2 z% V6 b- { day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
: e/ l% u! D) J9 a print(tues)
* a8 u3 R: _. g' u5 W Q except IndexError: X8 F" v5 w. J1 @
print('No date found')* x8 x4 A X0 [9 j- Q% N. \
% F1 n5 ?1 Y% o6 D5 ~ d 十五、将整数转换为日期对象
+ e, X g$ V) G7 b from datetime import datetime1 L1 a/ n$ d1 z! K/ I6 m) U, L
' a, ?/ Z9 @% D, _
i = 1545730073; d: a: y+ e3 U* d4 }6 s+ l3 G+ `
timestamp = datetime.fromtimestamp(i)+ K# w+ T+ V" h5 g, }+ g
: u6 f: D; p1 k' K
print(timestamp) # 2018-12-25 14:57:53* m# I) ~1 n5 A6 Z# r; c" v
print(type(timestamp))
2 w' F# ~( I, ]: j/ I# i
# D" a5 s6 P* N5 C3 j$ V; B4 l 十六、当前日期减去 N 天的天数
( C, {4 z' @' M: |* _. x' \8 w, W, ? from datetime import datetime, timedelta
( G0 Q* v5 O$ |6 B; x
7 }& _' e+ J; \- j& a) L& ]4 q d = datetime.today() - timedelta(days=5)
5 B" n* n1 ]/ P: V0 V# w/ p print(d)
" T( k3 `" H. n6 V1 w
7 Q2 J/ z |% v& K 十七、比较两个日期
4 u: w/ s5 _$ n: G0 w import datetime5 D4 n) H. A0 Q9 ]6 I2 y
" k2 u8 l+ f0 z2 Y) r( Z
a = datetime.datetime(2020, 12, 31, 23, 59, 59)
( z& H' y9 b4 S" L a1 a. K5 p6 e b = datetime.datetime(2020, 11, 30, 23, 59, 59)$ Y& V$ g5 \; S! _8 E! |
: g$ q6 I% g4 H4 z- G' O# W' l print(a < b). k% g c/ v/ V- P" @
print(a > b)6 c) ~- n4 K/ d( P
( s) }% B% X) d( \* E
十八、从 datetime 对象中提取年份" ]9 i* Z& I. `# q8 B9 c9 ]7 S' m
import datetime9 }3 N# E: f6 p3 A, Q+ p
: o9 |3 I7 x) J4 z A6 V# D
year = datetime.date.today().year1 D1 N9 a8 _# m/ M3 X7 |. i) u) M
print(year)0 `- ^! b# C" n, X. J
( V: S4 j5 J) B
十九、根据日期找到星期几: j! |# m) ^9 e& [* [
import pendulum1 c2 Z5 o6 z# T2 y( v& T
5 F* T! H5 r& W$ b$ _0 S dt = pendulum.parse('2021-05-18')
, U/ H e- b3 i# i w+ t print(dt.day_of_week) # 2 Y, q+ M+ t( E& K
0 J1 a! m$ E% u
dt = pendulum.parse('2021-05-01')1 {$ u! s# f' }% P: _
print(dt.day_of_week) # 6
6 h. U& v% S& l$ ]* n6 z( _+ y ; d* e* e' o. u7 `# a% w
dt = pendulum.parse('2021-05-21')
- s4 D; s x+ {) r; M$ m- d print(dt.day_of_week) # 5( T. \& I3 F2 g/ M# m, e s: f. `
( ~. v0 t1 @- f, Y& t 二十、从当前日期获取 7 天前的日期
2 H6 f4 M" }) U/ M; @; F+ F) } from datetime import datetime, timedelta
% u4 o& Y5 _& J" [; e* s3 T 8 V/ b' A3 _! A9 {8 {; d$ D0 v
now = datetime.now()
' B. r( K1 R6 @" i$ F0 a( L _$ i ; D2 D! W5 H& G+ `- r+ `) j2 }
for x in range(7):' e5 x. k# d& ]% I+ Y$ H
d = now - timedelta(days=x)
% V5 I/ k1 Y( d# Y: B# ]4 u2 U print(d.strftime("%Y-%m-%d"))
1 p$ s5 k% T1 {4 I0 s4 p- g+ `* z
: Y. i& `$ ~5 y+ m* O8 Q 二十一、将两个日期时间对象之间的差值转换为秒
7 W V, M/ K8 |% D3 Z import datetime
/ v. G7 Q* N V; P" m* v' `# [* q 2 F( D/ ]6 B; K( S/ Q2 Q
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')
. I: i# \: q8 x6 q* H; e: ^ time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y'); A( U% \+ K7 ~9 `+ ~/ `* |
- V% h4 [9 ^9 L
difference = time2 - time1
0 e) |! u& v; K$ F* }3 T/ p print(difference) # 6 days, 0:00:00
' ] g6 n) K4 k6 K2 a ; L9 K+ v5 W. Y# }* R% d
seconds = difference.total_seconds()$ F* z" b3 d# S* w) {, B
print(seconds) # 518400.03 K$ l. B( w0 D! d3 M& ?7 n. ]
& u4 `. h5 }$ K 二十二、获得任何一个月的第N个星期五, w: J2 V& |+ Y
import calendar: f! _: @9 B* R- B' D5 }) U! J
3 i5 P! ?5 q' H' p# B l # 取2021年5月的第三个星期五
9 b7 S# z% y( E8 g: ^ V6 g c = calendar.Calendar(firstweekday=calendar.SUNDAY)
4 _: D" t p7 r# [) Q% E) ^) U year = 2021) X: N5 y! M6 |! U ]7 s
month = 5
, @- q# s( u3 s! M1 G W n = 2 # 取第三个, E+ K/ f2 i8 H, U% ~5 H5 \8 W
monthcal = c.monthdatescalendar(year, month)$ x! y4 ~- P; X3 x
& D3 R j; J7 T( @9 w8 i try:% Z- y+ W8 i0 U9 V9 Q2 d
third_friday = [
9 ^; _' m/ e. O day for week in monthcal / O: B" E) v( G& Q h* H) u1 _) w
for day in week if
2 j, s2 l. T& H$ M day.weekday() == calendar.FRIDAY and day.month == month1 o$ m; H* H/ D4 I+ A. Y/ Z, I
][n]
1 W6 f. L u: B9 v" k3 w( K6 N print(third_friday) # 2021-05-210 r4 v& y+ A' j
except IndexError:
0 ?+ H$ M* n/ G6 O print('No date found')/ P9 D) Z9 f0 J
2 v% o) r9 m4 V9 [9 \0 {3 w
二十三、根据周数获取日期
# G- t* u5 o5 G& v% K. J import datetime9 y1 ? U) D& T8 j( U4 J/ s2 G
from dateutil.relativedelta import relativedelta9 ^2 f* I! E' c
) I; M& o+ D9 Z, c& X, Z/ | week = 25
3 z4 [1 l. D0 K+ H year = 20213 b( n* R" w3 |
date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)
% i8 l; R4 |1 p1 l& |) g print(date) # 2021-06-258 h1 G# }! a+ @, N) y+ ?
9 E2 r0 H* {8 O# K: t 二十四、获取特定日期的工作日! P/ C1 Y: d/ ]
import datetime% u4 v: }- _, _+ W* _
2 [( _3 d9 K0 p print(datetime.date(2020, 5, 15).isocalendar()[2]) # 5
' v: M0 C: U- N7 S* N$ `3 O
4 W8 U5 y$ ?+ E" _8 Y! m 二十五、创建一个 15 分钟前的 DateTime
9 D- H+ ~) i5 x8 X; {; ?/ k import datetime% }/ s7 B2 l5 B, a: o" j
#Python小白学习交流群:153708845
$ S9 e8 E" b& v8 \( v0 A# F5 }# ? dt = datetime.datetime.now() - datetime.timedelta(minutes=15)- j5 T2 q$ g* q2 ~
print(dt) # 2021-05-15 22:25:55.897365# \8 r7 T3 U2 `5 W$ s: o
( T, t6 i2 s6 Z- M2 U5 k0 o/ t
二十六、从特定日期获取周的开始和结束日期
2 p) [2 O. V3 M% \* h import pendulum: P7 D3 P% \* z; m# R
3 l4 q" Y$ `0 E+ o5 h# x
dt = pendulum.datetime(2012, 9, 5)7 _( B% K! y8 O9 `/ s3 u8 l
# H* o! C; f7 R }/ y/ b% C: K start = dt.start_of('week')$ _6 \$ S* {9 r- I6 Y& q( N, Y# X
print(start.to_datetime_string()) # 2012-09-03 00:00:00% @: J. V! A9 K2 a
8 O4 i* o ?; c: } end = dt.end_of('week')" k$ U m9 Z6 ~. W! l
print(end.to_datetime_string()) # 2012-09-09 23:59:59; B& e# Y* A7 l1 W- a
0 j* j1 n# Q6 z3 z9 Z
二十七、两个日期之间的差异(以秒为单位)5 W$ H. n- X% U; Y( J B q
from datetime import datetime2 K, C& |% p& }$ Y! C
#Python小白学习交流群:153708845
5 O2 y( F# U/ M9 H fmt = '%Y-%m-%d %H:%M:%S'
+ ]+ x- r- N7 \1 ?3 k d1 = datetime.strptime('2020-01-01 17:31:22', fmt)9 D; {5 S/ B; ?2 w2 W
d2 = datetime.strptime('2020-01-03 17:31:22', fmt)3 P1 w) p1 G7 I; Z1 q1 e
+ r8 U8 Q: {, F. l$ h
days_diff = d2 - d12 ?$ N( a2 D8 P
print(days_diff.days * 24 * 60 * 60) # 172800
. ?+ k# |5 o+ w4 s) M . c! e W! [' X4 ]" Y
二十八、以这种格式获取昨天的日期MMDDYY
/ n9 }- G. [' q5 R( J9 \% _ from datetime import date, timedelta5 U2 S) P# u3 J% s* {! @
* d! V5 l4 g+ h) ]( o- ?# L! A
yesterday = date.today() - timedelta(days=1)
. Q7 G* p' R3 H7 M4 N/ ?% s* { print(yesterday.strftime('%m%d%y')) # 051421
g' Z; X+ V( K3 U6 u 8 j1 ]6 q8 u# \
二十九、根据今天的日期获取上周三的日期% R: u4 F$ c+ | R+ y# H
from datetime import date+ r/ w* m! k5 s* q8 U5 j$ F
from datetime import timedelta
' W# |. \6 W, d& D! H P+ R ' v- B) L1 n- m+ ]/ V
today = date.today()
7 P9 Y% D+ o9 U, l
- t* G) R) x& R offset = (today.weekday() - 2) % 7" Y5 ~& T! E6 `
wednesday = today - timedelta(days=offset)
/ d! s, X- t' T5 b print(wednesday) # 2021-05-12; E5 f) v& \, h7 D
/ c# ?: P5 W+ p5 x7 |" Q+ j) u; `
三十、所有可用时区的列表打印
2 r* H0 Y# C* ]$ ?; K% G5 p6 U4 { import pytz
/ S! ~4 R0 T, x) l / E; p! x' _2 M8 N1 G9 B3 B
for i in pytz.all_timezones:4 K" T- ^) \9 R$ a+ J7 N, D
print(i)
6 w- i! I- H; b0 S4 d7 F; T 4 \, ]& M4 F& _3 P3 }3 q
% b, K4 A) W- ~4 ?7 q5 s! z1 z
1 o/ t# i/ s: n7 u
zan