在线时间 463 小时 最后登录 2025-6-15 注册时间 2023-7-11 听众数 4 收听数 0 能力 0 分 体力 7342 点 威望 0 点 阅读权限 255 积分 2781 相册 0 日志 0 记录 0 帖子 1156 主题 1171 精华 0 分享 0 好友 1
该用户从未签到
使用 time 模块展示当前日期和时间 h. l1 \. I5 X
import time
' L/ v' w ~8 {* f. D, f2 ` from time import gmtime, strftime. d0 R7 I; S2 q3 i) M9 [/ H( E
: m9 z/ ~& E4 P% ]# `
t = time.localtime() : S- [, w4 \1 r+ ?
print (time.asctime(t)) # Sun May 7 09:30:37 20178 i& _$ l2 x. P7 ~' f
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000
5 I* g; |! j7 U7 h4 L# v print(strftime("%A", gmtime())) # Sunday: T2 P1 I$ A' u
print(strftime("%D", gmtime())) # 05/07/17' }" u% N: N" e. Q
print(strftime("%B", gmtime())) # May
. s* S8 _6 X$ M: D print(strftime("%y", gmtime())) # 17
" z4 O! V; T! v6 P% n% E 4 N" z3 i9 _; B' E, d1 Y" A
# Convert seconds into GMT date
; J" [( H5 [# f! ~, U1 w" |0 Y print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +0000" h( \; d* ~ k% x: f& ?8 Z
! } v6 w+ P$ @, D' z& P5 \
二、将天、小时、分钟转换为秒
: ~1 `! o. e L* ^ SECONDS_PER_MINUTE = 60
, E8 {5 K7 T+ M0 M, [" D8 x# o& E; Z SECONDS_PER_HOUR = 3600
2 |! F* g6 q; P& C SECONDS_PER_DAY = 86400
: R' N0 Q3 w3 N' z
3 F' h# a3 v% a- } # 输入天、小时、分钟、秒的数量, e# Y! U$ N2 o5 K+ d, R
days = int(input("Enter number of Days: "))1 B8 w# p# Y4 j4 P: E2 i, e) v
hours = int(input("Enter number of Hours: "))
7 [5 }9 @8 v) U6 m minutes = int(input("Enter number of Minutes: "))
* O" V- R% D2 r seconds = int(input("Enter number of Seconds: "))& N/ ~2 \( {0 m
k' N& h3 f9 m$ I+ a1 b. D, u# x0 g& N
# 计算
- n5 x9 T6 g9 v8 g& P/ A" m6 u, ` total_seconds = days * SECONDS_PER_DAY5 R3 [! r0 {; _* m/ Y# ?0 g
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)
0 S; t d9 p. I3 v" B2 v m total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)
( P: x) I3 A7 g2 o; [ total_seconds = total_seconds + seconds0 Y: r9 p. ]" p( {; m [9 J# O
4 g ^7 ` m: H. D2 M7 x
# 结果
4 a1 `8 T5 d r% T# L print("Total number of seconds: ","%d"%(total_seconds))* x X3 e& Z& s+ ~( Z1 Z3 }
'''. B' b8 F. j: a% x2 g( O
Enter number of Days: 5
2 R2 V# L' \) @" v! H K0 E Enter number of Hours: 36
) `- e% F2 n1 Z+ K1 |* g Enter number of Minutes: 24+ s2 C3 O/ s# {; z% Y6 E. Y
Enter number of Seconds: 15
' |6 ?/ }- d L% ~) x* l Total number of seconds: 563055
N1 l' A v) u# Y7 ^: e& D '''
) r7 e9 W4 Z1 y! ]
8 ~$ D; a1 q, {+ \ 三、使用 Pandas 获取当前日期和时间+ s7 f3 m. ]3 x
import pandas as pd4 }% e+ Z g# Y! K
print(pd.datetime.now()) # 2018-01-19 16:08:28.393553
, }- q K4 ]0 c, b4 H7 C print(pd.datetime.now().date()) # 2018-01-19
4 t0 ~! I3 M+ r print(pd.datetime.now().year) # 2018# S5 R* ?" G% e+ O' N) P
print(pd.datetime.now().month) # 1
: Q0 I) y/ G3 z: E9 @9 `% f+ ]9 }- w print(pd.datetime.now().day) # 19
3 {$ [# o" u! a" u" V8 q print(pd.datetime.now().hour) # 16
1 z4 C! q8 N2 [6 h& S6 O print(pd.datetime.now().minute) # 8; \' x4 g1 @+ z. T) a* P% Z
print(pd.datetime.now().second) # 28+ [8 G3 e; I8 Z7 R
print(pd.datetime.now().microsecond) # 394553
* F3 v2 \- N/ T0 k- t4 y! n; `
# A( A Y& a7 i7 G 四、将字符串转换为日期时间对象
& t# S9 M6 X3 r$ _9 A0 q9 W/ W& N' J from datetime import datetime
% M! e, Q2 f5 {/ ?. U6 \2 V from dateutil import parser
7 w9 ]6 a5 ^8 L $ f# i5 b- y) h) w" g# B
d1 = "Jan 7 2015 1:15PM"
0 D5 r/ `4 C/ V/ ]0 J d2 = "2015 Jan 7 1:33PM"
, X9 I3 A7 ]- F: e$ F
4 O3 j2 {! _* @6 c. _% c# b # If you know date format% m, H# {! t* b0 ]; d# \
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')0 v* S c5 x9 U1 g/ T
print(type(date1)) # class 'datetime.datetime'
& R3 l& w% y) d7 U! J! y print(date1) # 2015-01-07 13:15:003 s, l9 \/ n$ n( k
$ U( g* P2 g4 `; b
# If you don't know date format. E8 K+ ?7 w- ~
date2 = parser.parse(d2)
. N0 l( @1 G$ Q+ Z3 s/ ~# R9 v print(type(date2)) # class 'datetime.datetime'$ `: N2 @8 G* D# M, C6 K
print(date2) # 2015-01-07 13:33:006 X$ A5 U" f" m4 c: g. v
& P# P2 v7 J, L G/ B9 C/ s4 W4 S: \5 [ 五、以毫秒为单位获取当前时间
2 d4 m2 W! j* b/ l0 f0 z import time
/ M! E/ s' J. x) X" H$ M
' {5 N- K) M/ V2 K, X- n+ A milliseconds = int(round(time.time() * 1000))$ J' P( T) I7 N+ l6 c, @
print(milliseconds) # 1516364270650% @: `- [( P9 ~* s& m
. M' ?- ^1 c! }; J- I
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间
( ?6 d) _' [' t+ y: d' Y from datetime import datetime! @2 n, d: S6 g; ^' H
from pytz import timezone4 K, {0 k/ b* W) ^) c
: v% Q9 X8 e0 ~7 k$ z* R! q( K
mst = timezone('MST')# q$ V) \4 |( H- j# X+ z: B2 _
print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:00
% u9 ^: n U6 K7 W2 v: h0 J4 b est = timezone('EST')
: v8 @. g0 c" _, A print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:007 N" g2 i0 O5 r% o0 ]
utc = timezone('UTC')$ A/ `; j8 z2 V9 p @6 l& x0 y$ R
print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:007 l0 L8 L4 F% x+ F5 }4 Q5 z6 t Z
gmt = timezone('GMT')- M5 w- S- U) B Q
print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00
& g# {, V& X8 _" m* O- m; m' C2 c! O hst = timezone('HST')0 \1 M8 B1 @2 m; Y
print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00
6 H' I) {3 ~4 n6 C $ @; Z# o% [3 b+ |7 o
七、从给定的日期当中获取星期几
2 l7 F% a; v6 x0 Z8 x) ~ import datetime+ W2 }6 X. ~. ~8 t0 w
* A& [ U% E p
dayofweek = datetime.date(2010, 6, 16).strftime("%A"). |" O! Z. e" q, Q. W
print(dayofweek) # Wednesday$ J7 }5 k9 g5 f: G9 F
4 Y u* A+ ?0 a2 P6 X9 I # weekday()方法: 0代表周一,6代表周日
2 C5 O9 A, E; z( y print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 2! C' |, Z2 U7 S7 `/ K# H/ h
% A( }! A- O3 p% H
# isoweekday() 方法: 1代表周一,7代表周日
# ~4 O) H( l( x print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3
% b% @ ~$ M' @" z3 H 7 Q9 R( p1 J- ~4 @7 r
dayofweek = datetime.datetime.today().strftime("%A")
8 R9 ?. O/ B+ \# ~% H print(dayofweek) # Friday% g! p% `3 Z5 W, o% J0 }3 v
print("weekday():", datetime.datetime.today().weekday()) # weekday(): 4
7 i0 ~5 Z/ ?+ u& P) v print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5( l% V3 ^ a% Z8 l8 M1 l: V/ ]" D
$ K5 A1 W& |6 L
八、计算两个日期时间对象之间的时差+ D0 S( C! {0 L f/ S
import datetime# p' a' z6 x& V+ ?; c8 M% m1 d# T# d
from datetime import timedelta" \+ ^# h/ t8 h; v( c h$ M
7 a# t& a; W) G* F- ]/ _
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'+ r g7 D5 Z; {' \- c
date1 = '2016-04-16 10:01:28.585'
$ n8 r' [ A+ i3 W. O date2 = '2016-03-10 09:56:28.067'
3 x" j* F) R) T1 N/ {9 U4 L diff = datetime.datetime.strptime(date1, datetimeFormat)\) H1 g7 o9 M0 |' N0 J2 @) E
- datetime.datetime.strptime(date2, datetimeFormat)% y( I! c) L/ ~7 Q$ Z. ^
9 b; a- Y" A0 G
print("Difference:", diff) # Difference: 37 days, 0:05:00.518000) K8 W7 Z% ]4 I$ G8 {
print("Days:", diff.days) # Days: 37+ ?( \& F( _( R( k6 O* O6 A- ]
print("Microseconds:", diff.microseconds) # Microseconds: 518000
2 Z* }1 ~" j8 W( I; K4 |& I print("Seconds:", diff.seconds) # Seconds: 300
( _' S$ H0 ?$ \" |6 z j: g [+ D
$ o r9 u E r6 ~* I 九、将 5 分钟添加到 Unix 时间戳+ ?7 t) x. q+ q/ |/ [
import datetime
% f7 N/ j& E7 o: ? import calendar8 t' A& W9 ^6 n8 [ w0 w
) E. _- | M0 ~5 s
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)
# R2 G5 \: G! v' o print(calendar.timegm(future.timetuple())) # 1621069619
" R( |- i3 N+ j. Q! W- X% G
) P6 I/ E F9 S6 r( x: k/ v& u' T) |) R 十、遍历一系列日期& ?" Y: s" P* |
import datetime
# D- ^+ Z$ e8 `9 A, Q! M
- c2 s* v( S6 Z* }" W! U6 Z. q6 {4 r start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")- T" n* H* Y. |$ W& C: e
end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y"), S5 V2 V/ m% q% n
date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]( V! o4 w3 L! s9 X; ]
. b6 v }% y7 {. N5 m1 [9 p" ~ for date in date_generated:: G5 \. N; R4 m4 H
print(date.strftime("%d-%m-%Y"))
4 Y u7 Q# l) X. E* v. R1 k0 j
; ^ P! v/ Y: k/ t8 m# M 十一、巴黎时间更改为纽约时间
1 | a: @9 F: } import pendulum
- t& s9 F9 c, @1 [ 5 D5 ` E: P1 h7 c, N+ H
in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')8 I6 J, a" P8 M' b) ^
print(in_paris) # 2016-08-07T22:24:30+02:00# K/ e1 [; L' d4 w. ]
4 F/ t5 S4 ?4 f in_us = in_paris.in_timezone('America/New_York')
# C" {3 R! o& }4 \ print(in_us) # 2016-08-07T16:24:30-04:00( n: Q9 k$ j" u' z7 o# O& N
% ^& T2 }- C( c" C9 X: G# @. V* W 十二、使用 Python 获得最后7个工作日7 T0 e! t) C/ g& o7 y
from datetime import date2 g/ @) S* ^$ D7 W" q8 o
from datetime import timedelta* g4 l. l- w% i% A( s# w
# I: Z6 x( N# ~3 ^" A- g today = date.today()* ]& E& q" P* H& `6 V
, ?9 J" K' C' N- w, q8 V( _# z+ D% \ for i in range(7):% `- P6 M9 m, z( d
d = today - timedelta(days=i)
2 k# b$ _* L* E. I8 `2 L if d.weekday() < 5:7 E( f. C. e: A2 g- c# k( U
print(d)6 q, W: u$ X# `: y& C! H* `
' O T1 ~9 Z% C2 t0 O! j 十三、从今天的日期和一个人的生日推算年龄
8 T2 W4 I: L. ]! i3 V1 p: j! _ from datetime import date+ R W" B# B1 T: c7 Z
/ ^) ~+ x! }6 q6 q9 {! ]' {& M
V+ c5 G, I3 r6 u( D def calculate_age(born):4 I% A2 ?# ]: U1 ^% |" l& w
today = date.today()
: k7 S, r- k4 l try:& o8 j+ v/ z: u3 w& {
birthday = born.replace(year=today.year)
: C. u0 O6 e- Q' e* o except ValueError:
4 p4 a' F0 h x' e5 R$ E: r& v birthday = born.replace(year=today.year, month=born.month + 1, day=1)+ {: k- M4 i: F/ ], j7 M2 Y G
if birthday > today:
2 p# l- V* w# q1 R( I return today.year - born.year - 1
8 z0 A6 f4 K% q+ W' {1 k else:
1 T8 `/ v8 f- i. z3 n) I Q4 Q; g return today.year - born.year i( `9 H$ B; g6 o" l }
( y9 V& @* A! Q. ]& [: D! P6 r
2 S( \0 s. M8 @; y print(calculate_age(date(2001, 3, 1)))
4 F0 o& F% `( X6 I- _
$ Q) \3 k3 u! R 十四、获得本月的第一个星期二$ c) @, N0 U. ~( `4 Q1 a
import calendar
5 b9 K9 B) M/ r1 ~# H; h2 f from datetime import datetime
. T4 L- t. `) w) m6 Y ^3 |8 ~
# ]8 G; l1 r# [$ Q c = calendar.Calendar(firstweekday=calendar.SUNDAY)
6 w6 ~, z( O4 N' s/ t' T9 U monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)5 Z# p2 I; z8 W$ p, W7 u
#Python小白学习交流群:153708845 % O$ h8 _+ A5 S# k
try:
4 g: i% E8 H) @% }" e2 n2 P tues = [day for week in monthcal for day in week if
4 Y. C+ a6 R2 }# { day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
# r6 H7 E" D$ T: M: ~) K9 c$ P+ n print(tues)( `4 m. W) i- U6 z5 J4 V
except IndexError:+ Q' t% c$ f8 N- {, V6 f4 u
print('No date found')0 [) q2 e$ d' |/ p8 b- M! ~
; u$ F7 G6 ~# t
十五、将整数转换为日期对象
: Y" m' M: E2 ^0 P+ l _1 q6 H, ^0 } from datetime import datetime
+ u4 n5 V% r5 C7 H* k h$ F$ f( H+ b% ^
! a. i5 Q$ }4 B2 f. g2 ~4 @ i = 1545730073, c) R: s; M# Q* d
timestamp = datetime.fromtimestamp(i)* O( B5 {+ O2 r/ W) l
- L, A. j2 f, o' u$ i6 P print(timestamp) # 2018-12-25 14:57:53
9 N2 S D, D. N9 W% H% i print(type(timestamp))9 X1 [! ]+ r( x* T6 @
. n1 k& W* |+ R" F* Y9 ?& S" L 十六、当前日期减去 N 天的天数
) z# E t' p1 E' r4 h6 U- L from datetime import datetime, timedelta$ O W- S6 y$ m4 z
9 i/ { u( o& t6 Y3 _: z( e. ^
d = datetime.today() - timedelta(days=5)
r$ F- I `% }5 ~. G print(d)( Y% Q& w8 O3 l/ f
! Q4 q6 t7 a# g4 z7 g" P 十七、比较两个日期
/ y, H8 V/ m' J7 G$ _$ b import datetime' { p% ^+ ~ _/ ^9 _' \. M
+ r& p% I) U; u9 ] a = datetime.datetime(2020, 12, 31, 23, 59, 59)! S, N9 [7 ^6 _
b = datetime.datetime(2020, 11, 30, 23, 59, 59)
) Z% H8 S& `1 j, V% j ( i1 P2 X* @' v9 r" k' g$ e2 H
print(a < b)3 a3 @- I5 V) ?* O
print(a > b)
/ N* g; b# }/ O! _' n 0 p5 y& p3 i7 m: {. A
十八、从 datetime 对象中提取年份
: S; {3 y: E: ]" z7 L# a% e1 O( V import datetime# q0 k6 Z8 T5 w, g- ]+ ? z
3 C2 N- s" v0 Q5 }: z# U
year = datetime.date.today().year( A" D8 Q- g5 I
print(year)
2 W! k" \: ?0 V7 |# E/ s& M" h % M; ?4 @. a; F( r' D# H7 D" o
十九、根据日期找到星期几4 e6 b4 u) \ v! x7 E; p( m6 i
import pendulum _) D. @- G" ]. ?/ `
7 A9 T: J+ A$ L
dt = pendulum.parse('2021-05-18')7 l9 V! S4 w! L% U1 g0 {, R5 j
print(dt.day_of_week) # 20 W3 C1 x6 y0 h$ ~3 O
- ^* B+ ^! ]# C2 z( M! r dt = pendulum.parse('2021-05-01')+ X" X' w+ X) J4 K4 G0 p
print(dt.day_of_week) # 6/ d4 C/ ?. C) m8 f/ F& Y
+ E7 ~& z7 o( N dt = pendulum.parse('2021-05-21'), L9 x$ b, M! Z, b$ \, N1 o" d
print(dt.day_of_week) # 53 m' i7 f! O# Y+ A) a \
" x9 I* p$ \6 K3 D" F! k* J5 S8 t 二十、从当前日期获取 7 天前的日期6 t/ p& D8 Y1 W- _; V
from datetime import datetime, timedelta* n/ d# G& q6 P% W4 X: {6 _+ K
1 C3 g5 q# d9 U7 u. d3 f9 \$ R: W
now = datetime.now()
6 G/ f* O T' E0 O5 R
3 q5 w$ B: T% ~. e3 n6 m6 E7 Z( u for x in range(7):) q& i7 C$ m% Q' n
d = now - timedelta(days=x)3 x) W- M" C2 J/ j! m% Y
print(d.strftime("%Y-%m-%d")): }* F e- U7 u' n h7 c
2 E6 L& X% |/ e: y+ Z5 }
二十一、将两个日期时间对象之间的差值转换为秒( \0 i; @' S2 H0 i9 _; O
import datetime
$ y) F* s3 B3 s, o! ` : S6 e/ E* g& a
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')) y. A2 ?7 k" q6 @% y: L: E. a
time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y'): Y* W: I* `- x: ~
3 y5 T0 L# \, R) g* F; { difference = time2 - time15 U" H* X0 P$ l$ {$ I" G; Y
print(difference) # 6 days, 0:00:000 t0 X! v: k) k5 V( J* d& Q( i$ A4 D
+ H' k/ P( b: W* e) |& [( S2 U
seconds = difference.total_seconds()! C( t( Q! x3 V7 |( u
print(seconds) # 518400.0
$ U+ `" Y$ T5 G0 R / W4 m6 p9 I7 N. p: M7 q
二十二、获得任何一个月的第N个星期五$ `) g# w' w* `+ _8 @2 O5 ^
import calendar
+ {7 E0 X% S$ d - |8 _0 a: b4 Z* k
# 取2021年5月的第三个星期五, m0 G6 B. }; D% k5 C0 {: a$ C
c = calendar.Calendar(firstweekday=calendar.SUNDAY)
2 O- w G, w$ M9 \8 L! J$ @0 B, y. Z& x year = 2021- w' ?2 B7 i$ R% T# q& g# Q4 |3 r
month = 57 z- v1 F2 S' Y. M3 M2 g; B
n = 2 # 取第三个
$ H" f, w) c9 v: A0 l( O monthcal = c.monthdatescalendar(year, month)
+ O2 X4 Y; h7 ^$ l' G6 b8 G # ~, Q% v$ r5 D" _
try:( ~4 [: h; _% G: G' o0 o
third_friday = [
+ `1 g5 c" G; F7 a* `3 O day for week in monthcal
m) q/ g: `* U. t8 j for day in week if
3 ^) J4 \/ [* u1 o7 U" s! J! f( F5 w day.weekday() == calendar.FRIDAY and day.month == month' M1 ]/ s9 g# F9 e: L' r1 ]
][n]. E: n( N$ v7 v. |! H% w# q9 i
print(third_friday) # 2021-05-21$ r6 p' A; l- p, ]+ s* `+ Y" [
except IndexError:) T- v0 R( G2 j; Q: M3 C9 c
print('No date found')
+ K( m% s5 x1 Y: O1 q 8 p! y! c+ P7 I" ~% l8 `' J s" C
二十三、根据周数获取日期
- v2 G, p* P. i8 S4 k import datetime
! @; G/ e+ z+ _# d) E; E- Z from dateutil.relativedelta import relativedelta
- `" e, Z ^6 v
$ G: p9 g% j1 F2 g5 ?2 E7 e) X5 r week = 250 @1 e, V! F8 { |6 f, E4 }
year = 2021
7 f. a% r( s7 H& j5 k) a! z date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)+ m9 P# [6 w% C6 S+ T
print(date) # 2021-06-251 E! J# O3 k# t. U, `" G+ f
3 Q. q% q' A' C 二十四、获取特定日期的工作日
% M0 K0 @7 n' H; q* x: k import datetime- f! v9 D S. H2 i( f; e
& |' c$ C. c: m6 d8 G print(datetime.date(2020, 5, 15).isocalendar()[2]) # 5
+ L3 m0 Z, ~, Q/ S3 c$ Y
8 ~ e7 b2 C4 D* m5 i. s& j* c 二十五、创建一个 15 分钟前的 DateTime0 X. V# d5 |& J, w
import datetime
5 R, O* D! f3 O+ S: D- [ #Python小白学习交流群:153708845 ' r: {5 @/ _' b1 T# Q- V
dt = datetime.datetime.now() - datetime.timedelta(minutes=15)* L1 q! R, A) I- R# ^# D8 }* |
print(dt) # 2021-05-15 22:25:55.897365
8 ]: k- F7 [2 a, ^( G , {, u; U- Z- H6 i- [$ W! _( N& Z
二十六、从特定日期获取周的开始和结束日期5 _$ M/ r* q! ~' K
import pendulum
6 n1 f9 ^1 N9 W/ W% x- x( B
2 H" [* ^4 I! D$ m) b dt = pendulum.datetime(2012, 9, 5)/ d6 d( c1 N' n/ b8 e [! p) F3 T' o
4 J, ?3 Y+ b/ {' ? start = dt.start_of('week')
6 d$ x1 D" ?$ s2 e print(start.to_datetime_string()) # 2012-09-03 00:00:00
) [9 w& S- |! N4 _ " F7 k* W; I, y# K4 I; z7 j
end = dt.end_of('week')
! e8 i0 g8 j2 N8 q* V- o print(end.to_datetime_string()) # 2012-09-09 23:59:59
8 X: R) W p3 U' _6 M8 i3 Y
* b. a9 @ {! d1 P* y4 f7 d/ z" ` 二十七、两个日期之间的差异(以秒为单位)
3 v) H. U2 B$ \9 c( m) a' ^ from datetime import datetime
5 p1 d! q: j% t* C( s$ k #Python小白学习交流群:153708845 : r' R; a7 J8 d( O* }3 T1 i
fmt = '%Y-%m-%d %H:%M:%S'. s) M9 X2 p8 \0 A" j
d1 = datetime.strptime('2020-01-01 17:31:22', fmt)
U) @+ L( T% [+ @5 h! D$ J d2 = datetime.strptime('2020-01-03 17:31:22', fmt)
, @7 \$ H7 m& Z 4 m- p2 A/ y7 q$ w+ `1 }$ {% p
days_diff = d2 - d1$ `! A& K( f K4 u1 R: N& b& ]. Q6 }/ V
print(days_diff.days * 24 * 60 * 60) # 1728001 {0 T; m# d% G" F$ g2 {, ^
' [# `5 ~, ~1 Z+ k 二十八、以这种格式获取昨天的日期MMDDYY
. e, [( ~! ]: ~# }+ |% s+ l/ z from datetime import date, timedelta) M; Z+ A5 q% p% o3 l1 r
/ B7 [4 h- e6 T
yesterday = date.today() - timedelta(days=1)
" d+ F& N5 m9 h* j print(yesterday.strftime('%m%d%y')) # 051421
" ~5 K$ T5 i: c$ [) ?8 t' b( C
/ [' `4 b' X/ b" ?. M 二十九、根据今天的日期获取上周三的日期5 V: [, Q# y* Z: G* K
from datetime import date' Q' k+ @8 Y1 t- ]4 X& @
from datetime import timedelta5 D/ b0 ~2 p- a7 |/ Z0 R
, d" s% u2 A- u/ {& b3 k. |
today = date.today()
/ Q* f: V! M( L2 o7 X7 R
2 y. D% v' P' ^% d* c offset = (today.weekday() - 2) % 7+ a0 m, J8 n: s v
wednesday = today - timedelta(days=offset)( u z; Y8 ?' L/ x Z
print(wednesday) # 2021-05-129 J" a8 I% y3 d) @+ ~
3 a1 i0 I3 d5 b& O 三十、所有可用时区的列表打印
3 m' y7 S/ k# M( O9 W& K import pytz
8 p6 R$ y" j/ [3 I * i9 T* X2 K1 N8 i; |
for i in pytz.all_timezones:
$ g: r8 U& A/ s* v8 p+ y O print(i). ]5 M6 F! Z5 x6 A. u, b
" c# C+ Z6 }- T: ?9 y / d% S3 r! o6 [) E
' B4 N6 I2 d* I: }
zan