在线时间 481 小时 最后登录 2026-8-25 注册时间 2023-7-11 听众数 4 收听数 0 能力 0 分 体力 7859 点 威望 0 点 阅读权限 255 积分 2946 相册 0 日志 0 记录 0 帖子 1177 主题 1192 精华 0 分享 0 好友 1
该用户从未签到
使用 time 模块展示当前日期和时间
2 R3 C! i/ u: K g, B' W4 k import time
! S5 h/ E! e v$ P' q from time import gmtime, strftime
* |0 ^& l. X; i0 d1 i5 r6 n4 Y 5 k/ e c; s" h0 n7 ?+ P2 R
t = time.localtime()
) J, W4 [8 Z- W$ {7 ^7 k9 k5 @1 e print (time.asctime(t)) # Sun May 7 09:30:37 2017) M- f) E U5 z6 E5 o1 H
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000
0 o+ I' s* `8 e3 s; I print(strftime("%A", gmtime())) # Sunday& \4 d; q. |# I' e5 O7 p" X; h
print(strftime("%D", gmtime())) # 05/07/17
0 t4 U/ u, W% N3 }& V+ y print(strftime("%B", gmtime())) # May% M4 X7 \0 M* K* M7 r2 Q' }
print(strftime("%y", gmtime())) # 17( e1 A. u" q7 G: R# J7 O" n, f
3 o: v8 W+ j( }5 r
# Convert seconds into GMT date
3 X* z4 b( X1 M7 C5 q5 ?( h print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +0000
. n8 q6 T7 E6 N' ]- y& [ $ {7 u O% j# o! G$ |0 G) d
二、将天、小时、分钟转换为秒
* X' D, O6 C; K" Z, O+ H }. c SECONDS_PER_MINUTE = 60- v" D0 N5 l, y, g$ R2 K% B
SECONDS_PER_HOUR = 3600
; z: {, m0 M, Q% K3 N! F) Q( k SECONDS_PER_DAY = 86400
2 @/ _5 V" q5 J# A7 P ( W. z& s5 E# ]: R; p& c3 e7 ~
# 输入天、小时、分钟、秒的数量
5 C2 ^5 ^2 `) [, B days = int(input("Enter number of Days: "))
. ~0 b" l; T V! X hours = int(input("Enter number of Hours: "))
0 D: L: P+ R' ]8 w minutes = int(input("Enter number of Minutes: "))$ w) w" O1 T) K, Q* k
seconds = int(input("Enter number of Seconds: "))- p' m. _$ t7 c
2 L8 P9 ^1 q: ?' w: \9 T/ w # 计算. e( t& ]" n& s: \6 E- s
total_seconds = days * SECONDS_PER_DAY$ i. z5 y5 S' Q6 v2 Z2 d
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)
. i( ` r5 U; k* m. z total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)6 `# n( Z* e& z( b T; p, L
total_seconds = total_seconds + seconds! N* Y% z6 Y, ]% M2 k3 f+ D1 J
' X0 Z( y P6 b& u # 结果
& l1 O `" l. G- E. o print("Total number of seconds: ","%d"%(total_seconds))
7 M: T Q5 s2 X# r' V& W i '''
9 g; P5 j( h) B Enter number of Days: 5
9 Q2 x: D4 q& X" C$ q8 M Enter number of Hours: 36
& ?% v3 p8 D' X4 j- }* h: N( s( ] Enter number of Minutes: 24
/ G+ u+ w/ W r) y6 Z# Y Enter number of Seconds: 15
& L$ S% N I/ G6 l! v: H- b Total number of seconds: 5630553 w0 a# r. Q+ |3 _" Y2 A3 r5 s
'''( s) v- m @4 @; X0 R
) d6 H. u4 |& L- L% J+ x$ z5 k 三、使用 Pandas 获取当前日期和时间
& f3 Y+ m/ ]; c0 o import pandas as pd8 ]$ F. Q; A! C9 \/ j
print(pd.datetime.now()) # 2018-01-19 16:08:28.393553* ~4 j6 C$ B1 {0 M8 f- {
print(pd.datetime.now().date()) # 2018-01-19
/ z) a1 r) {3 o8 z0 ~4 D1 _) y print(pd.datetime.now().year) # 2018& W. r8 K" E) @$ X% |' J' S
print(pd.datetime.now().month) # 1+ J. h0 A3 E3 ]' K# e
print(pd.datetime.now().day) # 19% ?8 k Q1 C+ |5 P3 O
print(pd.datetime.now().hour) # 16% S# l! r. E0 U3 o/ L
print(pd.datetime.now().minute) # 8/ `, c* \7 U# O) q( \) r
print(pd.datetime.now().second) # 28
) e! x" M9 X. [/ a! o5 C- N print(pd.datetime.now().microsecond) # 394553% }! R$ z2 M8 ]) h2 \! x
9 j4 l! U7 Z5 a2 j 四、将字符串转换为日期时间对象
0 `. g1 X$ i( L/ s4 F from datetime import datetime3 a' O7 S: X9 S- N
from dateutil import parser
9 V& @ k0 F& ], @* F
! m* `& J. W3 B+ @1 S7 H! O. l d1 = "Jan 7 2015 1:15PM"( h5 l& |: q$ D! j4 L
d2 = "2015 Jan 7 1:33PM"& Q+ e5 g5 ?8 q7 ]) b
8 J+ ~5 j# Q+ h" w- ?& } # If you know date format
- a9 p- }( ^9 V) G- B date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')
2 v& e% M9 _" h5 t print(type(date1)) # class 'datetime.datetime'3 S% W, h! G8 D8 ~5 i- w: w+ e
print(date1) # 2015-01-07 13:15:00. `/ s/ \9 f! N, e/ q3 C
$ i" Y' \; d" u- I4 E # If you don't know date format
5 ?5 s* _# }% ?% h2 y* D date2 = parser.parse(d2)6 X+ c; F+ s! R- x+ n# W
print(type(date2)) # class 'datetime.datetime'; U, C$ e0 S8 y# k6 w2 f. ?2 d
print(date2) # 2015-01-07 13:33:001 \! q) _! p( n" W; O# ?
: v, t7 V. L5 c5 L
五、以毫秒为单位获取当前时间5 s% Q% ^) F* g5 T! l
import time2 f$ V+ P7 `4 L
, O3 c: h! U/ o
milliseconds = int(round(time.time() * 1000))
, k- D# ], E' L. ~$ \& }) O print(milliseconds) # 1516364270650) u3 @* Q& Y* X) t+ h
# z/ r2 Q- [1 q, u* m/ ~
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间8 x6 k/ {# O/ d8 m2 b' [
from datetime import datetime6 W9 I1 n9 {$ i
from pytz import timezone1 c2 P. `5 a6 J5 N) K
, Y) r8 A4 i( h$ k L
mst = timezone('MST')
) K, ^4 C+ [" g- B* i+ Q print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:00
: C0 e+ f0 ?4 k est = timezone('EST')+ m% O( h( {8 u4 `3 x: N0 q
print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:005 p& ?) m, a$ l( C# U1 f
utc = timezone('UTC')! j5 N) i1 V! {- b, r1 m0 r3 _
print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00% A" C. v2 g) {3 q
gmt = timezone('GMT')
2 Y- Y- r6 @0 G3 m5 l print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:006 v$ R# E2 v w. j5 g/ A+ ]
hst = timezone('HST')$ p* r5 y. _6 u$ h |/ N: j
print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00/ X( s) |8 ^0 z2 z' N- i4 p
) U/ U9 n6 I7 u, c( }* b: [
七、从给定的日期当中获取星期几
. ~% I+ k* Q1 ^ import datetime2 ]0 J* a- E2 _6 D. N
8 i! @( e: `7 C" n& u1 p% H- j# h dayofweek = datetime.date(2010, 6, 16).strftime("%A"), i- H; n9 C( ~. e: a( x( C
print(dayofweek) # Wednesday
9 M }% Z8 X& V2 c& @, _6 P 8 H' z2 L3 ?( c4 i5 r2 ~) s1 ^0 |
# weekday()方法: 0代表周一,6代表周日$ j) F1 \6 r0 }& o
print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 2
; G- q) n% n' W( w$ ^. W2 r: C
& J4 J; p3 M, O. i5 g% { # isoweekday() 方法: 1代表周一,7代表周日, a/ x5 j# P. i) O4 k3 ~: H
print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3# ` v# i' D3 l" y' Z$ P+ R
& }3 ]% K4 F4 E* d# R- l6 |3 z% l, B
dayofweek = datetime.datetime.today().strftime("%A") Y" H% y% U, _$ A
print(dayofweek) # Friday) `1 ~8 {* h% b; N# t
print("weekday():", datetime.datetime.today().weekday()) # weekday(): 44 L, H' p$ V; _* i( x* K
print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5
- }+ \) A# A2 q0 s5 H. M . G j- A& t* J- B- f
八、计算两个日期时间对象之间的时差
, i8 D+ W" M6 b4 [7 o- f import datetime& q: [8 d' }- I
from datetime import timedelta. L5 Z4 {7 }5 F- ^) G- i4 H
- ^* C( o' Z1 @4 P3 q datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'
3 l8 E* U5 q, k8 b& P& T date1 = '2016-04-16 10:01:28.585'
4 {3 \" T) e: u date2 = '2016-03-10 09:56:28.067'; \) k X- \9 H/ A2 S2 ?& b
diff = datetime.datetime.strptime(date1, datetimeFormat)\8 @! h; X% H" y% H- q
- datetime.datetime.strptime(date2, datetimeFormat)6 R6 C' Z5 h: Z) z4 }
; F) D/ N6 G+ H8 w3 f w print("Difference:", diff) # Difference: 37 days, 0:05:00.518000
( X0 R6 @# W' ] print("Days:", diff.days) # Days: 37
2 e; c* [* ~% c! U print("Microseconds:", diff.microseconds) # Microseconds: 518000
5 M. q$ x- L( ?9 x6 H, V% o' R print("Seconds:", diff.seconds) # Seconds: 300
- }% p0 M+ s" ~1 b* [1 h/ q
+ X# d( R. G8 z! R 九、将 5 分钟添加到 Unix 时间戳
3 O% x C8 @6 B7 e' K3 H( N" ? import datetime9 d' ^; m z: X6 \* a
import calendar
$ { T7 i; D, J5 k) B 4 o, \- C* e/ l3 F2 ~) Z. p8 m
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)
, L0 a1 K3 P$ u& E. a1 m- { print(calendar.timegm(future.timetuple())) # 1621069619, @4 L# \; y9 ]# o/ ]+ o
0 E8 H2 }5 f. b9 x7 P; q0 H 十、遍历一系列日期
, A) _8 } B0 Z/ W import datetime
0 \& A' G v/ j) n9 t$ V" Y 3 h& B5 q9 I+ i' I
start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")
2 S5 \$ g. K _& z0 T end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y"), p9 n5 b0 n+ c z' b" ?9 [
date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]+ a4 M- z' T$ f- r- U( u- p, B: D
# X! a* o7 ]" h" N" v: j/ }
for date in date_generated:. H6 a9 X5 I5 a9 |2 P3 ?$ D
print(date.strftime("%d-%m-%Y"))$ p: h( s0 d! _" k9 m7 {, x
$ G3 q& b0 S" F+ ?/ o3 Q% J+ B, o, I
十一、巴黎时间更改为纽约时间# O" p6 w/ Z! I1 H
import pendulum
$ d/ e- m7 N2 l# v
9 Z a8 v, y: j5 i* q; }& Q% X in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')
) x1 \& z. ]& ^0 z" B# X print(in_paris) # 2016-08-07T22:24:30+02:00, ~, ]* B2 L9 y1 [- x- P
# i) a. ^/ V. L0 ~
in_us = in_paris.in_timezone('America/New_York')
. S" S, L+ H: T$ | print(in_us) # 2016-08-07T16:24:30-04:007 I0 H9 t8 ^3 B2 v9 a
8 x( j: R9 ~7 u$ R
十二、使用 Python 获得最后7个工作日
& B( }+ L( T' M' X6 [ from datetime import date
5 M4 D1 _* s* Z from datetime import timedelta- h' x' _. s* E
2 t: P1 s2 y( X/ d6 K: Z
today = date.today()
7 w/ |. m( P; Q: o6 q4 F2 a
% R# v5 G! {- b* @4 A! b" V+ M2 T5 C for i in range(7):
/ o5 V9 C; p$ o7 D6 p d = today - timedelta(days=i) m8 l9 s/ _! \* K
if d.weekday() < 5:
* R! n5 k7 L' k1 e1 v print(d): J' H# y: ?6 B1 g
: Y" J+ |0 a) D* o5 M2 V7 L' \
十三、从今天的日期和一个人的生日推算年龄
( k" w: o) c5 T0 X from datetime import date+ {; A1 p9 T, M6 V# `4 M/ s, n' }7 v
* |/ O8 x$ d- L9 t * T. {' u% K# F! a( t- N) G$ p
def calculate_age(born):" V' J0 z; }4 U6 T4 M4 U) i/ N
today = date.today()
- B" z6 Z' \7 G try:: v) _: n0 G; s+ U1 W0 Q" |3 ?& g
birthday = born.replace(year=today.year)
+ J' r% x4 @; T$ _ except ValueError:/ m4 b# `- {# |( C7 m+ i9 l1 W2 x
birthday = born.replace(year=today.year, month=born.month + 1, day=1)
0 ?' c* @% h3 g. `+ ^ if birthday > today:, `$ I1 ?8 [4 o7 }* P
return today.year - born.year - 1
G. V% m/ u, o! D else:, i& \4 }1 }& F8 h
return today.year - born.year! M' D7 d* W, e. C) m
7 L( u# [( a5 O & j% N) p$ p3 k, [% Z6 e8 c
print(calculate_age(date(2001, 3, 1)))
# p( n" o$ r# C6 D" K) R
& S$ D# S1 z. `* c; Q2 g" Y% ]5 i 十四、获得本月的第一个星期二- @8 ] L/ |, G6 t
import calendar: O% x3 T3 p0 ]$ r; K6 T3 P
from datetime import datetime
& d# g+ ?3 D7 ]8 R
7 q5 _# |: H3 P. Y3 q% F c = calendar.Calendar(firstweekday=calendar.SUNDAY)
; V" ?( ^ E5 ^. o$ v% \ monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
" r3 S) R2 f- T; x3 T; p #Python小白学习交流群:153708845 % u5 x0 e7 h# b9 Z" z5 }. Q
try:6 ^$ V- j/ h; x% o/ O
tues = [day for week in monthcal for day in week if1 Z7 b) f6 Y5 o& M9 d" J, p3 v
day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]7 L& f; X5 ~0 a& E
print(tues)
1 J, m9 \. T2 H0 O! g6 R except IndexError:
% t% t+ \; N# X4 e( q2 `3 |: q print('No date found')
; m3 h# O* v+ ~0 H
8 I8 w4 w6 E# [! e5 G6 i 十五、将整数转换为日期对象) u, t. D- O5 U% B3 \$ W; k( y
from datetime import datetime, a$ M: M( T) E/ i- ?0 i8 Q! w% S
. s5 g/ R- t& ]* H( a! }9 u/ l i = 1545730073
4 I* O, I P1 S/ L timestamp = datetime.fromtimestamp(i)% B6 @- O7 \2 ]- o+ K# |5 ^8 Q1 H
9 r, |4 K! Y7 w8 b3 x0 u2 v7 p" A
print(timestamp) # 2018-12-25 14:57:53
0 T5 n: @( _; X6 G& t3 u" }1 ] print(type(timestamp))6 w F- [3 M* ], D6 P
0 h/ X/ e& V' q$ U& s
十六、当前日期减去 N 天的天数5 A' Y" C+ M6 U1 G/ `
from datetime import datetime, timedelta8 K5 m1 T& e( ^0 |: b
3 D: c3 p8 N7 G. ^1 S1 C" V d = datetime.today() - timedelta(days=5)$ q6 o# j+ H! o
print(d). w7 H0 S6 S5 b/ [& _ `
( M5 n9 c# v3 x% f: k 十七、比较两个日期
/ P8 A J8 m3 |7 V0 R6 v: Z import datetime
- P, Y) ^1 n) K
8 u# a+ o8 P+ u5 R: }, p( ] a = datetime.datetime(2020, 12, 31, 23, 59, 59)
, b& q7 Z, o9 ~ A7 c+ u+ x1 l% [; s b = datetime.datetime(2020, 11, 30, 23, 59, 59)- j( i1 g9 u M7 p. C$ L% s
0 l) g" L: \; F8 L7 a0 [- W2 Z print(a < b); B5 E, d: c. v! a+ d8 g
print(a > b)
0 w. P8 M/ |; d) I& b
3 A' {# @- T% c- } 十八、从 datetime 对象中提取年份
/ {+ k' N8 _$ F0 \+ t1 \ import datetime
, ]3 s- K6 b2 v. ? 1 U" R# S; }1 y( W- R6 S
year = datetime.date.today().year
K8 ]' h! n" H" w print(year)8 k" x4 w3 \. A/ H
+ d0 R5 j3 ]# I7 A( E 十九、根据日期找到星期几
; Q6 k( J! T2 | import pendulum4 P0 h5 C3 f1 {( w; L2 |
6 F% o) q8 z% l/ T1 w* V
dt = pendulum.parse('2021-05-18'). Q: m; R: Q4 Q5 A
print(dt.day_of_week) # 2& g0 e) t" M( s: A2 P, ?
: v5 w* @( J% u1 c! s( q7 [ dt = pendulum.parse('2021-05-01')6 B6 Q1 b5 r" F2 T
print(dt.day_of_week) # 6
) @- R& [( e+ t V- P: ]+ K% d3 g
/ Y5 T( R9 n9 q9 Y7 ]" n% m dt = pendulum.parse('2021-05-21')8 M% N. y5 l4 R, `
print(dt.day_of_week) # 59 ?' c" M: }2 f( d( z h
4 L9 g, o/ C1 {! `0 `. e 二十、从当前日期获取 7 天前的日期
- l# U7 j4 L# _% W) l* j" u7 I from datetime import datetime, timedelta
( g: ?$ A7 A2 k& D* Y5 h- h) j ' V9 y9 J4 C" d+ s
now = datetime.now()* q! _+ t1 U4 X( D$ A- x0 g2 T
) T) \# w: _; d1 [5 o/ K
for x in range(7):8 [2 w& m8 ?2 [4 O: B% V
d = now - timedelta(days=x)+ G* C3 a8 @, O
print(d.strftime("%Y-%m-%d")). y- A' s9 n6 N h3 E& W
9 c7 H' ^) N& Q4 ]5 a 二十一、将两个日期时间对象之间的差值转换为秒
) c) J+ Z. U9 i, G P7 E. Z! d5 ` import datetime) y# e" b: ]" W5 G; }
9 ~! u+ F4 P. f4 ^( v4 R( h% Z7 |
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')# q. o5 H( V1 o2 S
time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')0 @: a4 `3 O( O$ E( z
' H/ D- I* ^8 D7 R/ g
difference = time2 - time1
9 N- I* n$ i0 H% D7 V- M. [ print(difference) # 6 days, 0:00:00
7 d1 f) M; O9 m; U# n
0 c1 u7 S: Q" b* J+ n. K$ y seconds = difference.total_seconds()( O2 T6 _ R: y
print(seconds) # 518400.02 H0 v7 q: Q# s8 E$ Z9 N
1 G3 r! u7 X6 d2 ^2 Y6 Q. E" P7 B 二十二、获得任何一个月的第N个星期五
l- o- m, `( t import calendar
* {* V" V! x, ~2 ^3 M7 B) V# q: N
' K$ C& T/ u7 b6 v # 取2021年5月的第三个星期五" X4 ?- F4 A: C
c = calendar.Calendar(firstweekday=calendar.SUNDAY)
- y2 w0 l" A- m% W8 ` year = 2021$ |2 [4 A, v, V- B4 n7 Z, ?. r
month = 5$ K' S6 i+ H/ y, o# Y7 N8 j
n = 2 # 取第三个, E2 H- `7 }( I. ^* S# {# j7 F
monthcal = c.monthdatescalendar(year, month)) M+ R/ s, s: q' b1 O' i
% O) S" f& l3 o" s6 X
try:9 _7 e5 ~' o% H" U) w
third_friday = [6 F0 }7 y0 }! m% d! J9 y
day for week in monthcal
$ ~! n) i/ Y, j4 [3 e% H$ b for day in week if; w. _- N' u% Y0 y
day.weekday() == calendar.FRIDAY and day.month == month
! f" a* {& G4 A/ H* C ][n]# \" R* Y* K8 g- y
print(third_friday) # 2021-05-21
; P9 Q6 T+ ]7 ^9 J6 W8 | except IndexError:
& J; r, e: z6 J! x1 v! x* d, K print('No date found')+ V/ q: } |1 Y+ s x
; N# `! N# d. W1 Y; D' s 二十三、根据周数获取日期
/ D- ]' G- B; k3 N" G) A; d import datetime
' {% g4 F7 J" p5 U* `; Q4 B. z from dateutil.relativedelta import relativedelta6 N9 O) m$ k2 T9 e7 e0 N" r
7 m/ {# P* h' ~, [: @) i& K2 V
week = 25/ N' T. p1 x+ m' A( Q
year = 2021
: i+ U: b% W+ z3 a date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)3 u3 u q" J& T4 o7 @. i
print(date) # 2021-06-25) N( m% t! `# K- }) b
. T- L, [7 @9 \. X! h# r
二十四、获取特定日期的工作日& {6 Z; ]$ \3 W! ]' c Y
import datetime
7 I* e5 P/ L, o1 C2 M, ~9 W$ T: z
- c5 H( {7 F: q) b: B6 j! Y print(datetime.date(2020, 5, 15).isocalendar()[2]) # 56 h) [/ ~# y2 k6 ?. y3 e
; H, k, f6 m" h U
二十五、创建一个 15 分钟前的 DateTime5 k7 \1 x6 k2 `4 s# r
import datetime
' {) x) m# N) l9 G #Python小白学习交流群:153708845
+ n+ H9 q$ G5 j! X4 V dt = datetime.datetime.now() - datetime.timedelta(minutes=15)6 b* B( S8 {6 N, f7 L9 ]7 U" u
print(dt) # 2021-05-15 22:25:55.897365
. p8 u( C9 `0 D/ k2 Q : }- _' J5 ?/ r- ^
二十六、从特定日期获取周的开始和结束日期
0 _" O* a1 h4 e: m, Y, F( C import pendulum* k- g3 @/ A4 f* [4 i' d+ Z
- ]# d" |2 h7 h, N5 N& H7 z
dt = pendulum.datetime(2012, 9, 5)
& R& j: r0 r6 D* R
: s6 J/ G" Z$ H" a. b start = dt.start_of('week')
# x y: |* C) v# z- d! v; j2 R3 f print(start.to_datetime_string()) # 2012-09-03 00:00:00* p$ r: p# a0 _" W9 c
1 S/ ~- f$ X7 N+ s# Z end = dt.end_of('week')% |: G/ k+ r1 _0 {# p: c! {7 [0 z' D* ?
print(end.to_datetime_string()) # 2012-09-09 23:59:59
, N. O5 {3 Y0 r& U2 e # R) s; \. b& ?) \1 i6 X
二十七、两个日期之间的差异(以秒为单位)$ u% b8 h6 ^& ?
from datetime import datetime/ e/ K2 A; R/ N1 {) `
#Python小白学习交流群:153708845
* b/ ^% ^$ C6 V* @) b fmt = '%Y-%m-%d %H:%M:%S'4 X4 Z6 h: c$ B
d1 = datetime.strptime('2020-01-01 17:31:22', fmt)
, t Q( B- a7 C4 {9 `4 m d2 = datetime.strptime('2020-01-03 17:31:22', fmt)
" ]2 `! Z8 G7 X0 G# E( s( @ - F5 H$ a% w- z& ?% O
days_diff = d2 - d1
) [ p% a- {$ F$ w2 r print(days_diff.days * 24 * 60 * 60) # 172800: z% v+ I* m/ N; _1 N. f# e1 B
4 m5 p9 j, h& l, h" {9 Q0 |; j 二十八、以这种格式获取昨天的日期MMDDYY
. R9 \2 r. l1 B/ s) z' b3 ^' n from datetime import date, timedelta
' K) e8 ]( o! ?# T3 i: ~& [. C9 z. x* y( X / Z5 g; W2 {: ? _# ?
yesterday = date.today() - timedelta(days=1)0 T( Y$ b% d$ A# W; g! O- ^
print(yesterday.strftime('%m%d%y')) # 051421. F* C! ^+ F5 d* `
0 V# f& I! Y5 X6 j" L% W! q% p
二十九、根据今天的日期获取上周三的日期) U" _( W( y) [& Q4 z
from datetime import date
& J6 ^, O; l. ?3 D% }! n j from datetime import timedelta7 H- _* l/ D, N8 ^
% d) j# e3 h3 b N9 n
today = date.today()
" P; |- u/ _* ?4 e % p& Z1 {" F3 n+ U6 m& U6 d. r
offset = (today.weekday() - 2) % 7
- N7 L7 c. Y( N2 e: S2 m wednesday = today - timedelta(days=offset)
- I5 S$ S8 L, d& ^ print(wednesday) # 2021-05-127 H4 D! z5 H q" |2 }; G- X
2 T3 R, I$ l0 {9 a- N 三十、所有可用时区的列表打印0 M; B6 p, e0 @) l" p
import pytz
, s9 _% U7 Z) j1 t, A . [4 d3 }9 p* o3 I! i( W
for i in pytz.all_timezones:
6 ]* u3 M4 b) }$ u% I print(i)! @+ m S& T/ }1 [7 g
1 e3 \9 D/ X+ o- [
9 W1 n6 f/ u. _ \# U 3 J0 K, S9 p/ [9 U) `: J
zan