在线时间 478 小时 最后登录 2026-4-9 注册时间 2023-7-11 听众数 4 收听数 0 能力 0 分 体力 7788 点 威望 0 点 阅读权限 255 积分 2922 相册 0 日志 0 记录 0 帖子 1171 主题 1186 精华 0 分享 0 好友 1
该用户从未签到
使用 time 模块展示当前日期和时间; g; B& Q7 M2 D1 q( l4 S
import time% M' C! m% X+ C* Y+ h
from time import gmtime, strftime/ {3 \* U6 I( R+ A2 o8 m
n, a0 x V' ?4 m
t = time.localtime() ; O) }" r& o5 M+ \" R
print (time.asctime(t)) # Sun May 7 09:30:37 20173 q+ e9 l7 [0 r6 U C7 k* [
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000
8 }1 Y u3 N D$ T9 }6 | print(strftime("%A", gmtime())) # Sunday) \( K, I3 t( w+ f: ^( x
print(strftime("%D", gmtime())) # 05/07/17) ?* J( C! }) o! C5 |+ {
print(strftime("%B", gmtime())) # May
$ j1 v- o5 ^9 _( x print(strftime("%y", gmtime())) # 173 B4 S6 e1 I- F9 b2 {% O
( C1 } Y1 \5 l6 y
# Convert seconds into GMT date0 [5 H6 ]5 o) c4 q# H9 w' z
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +0000
0 ~5 c1 G0 }* I9 v1 a H ; A. P! P: G0 ]
二、将天、小时、分钟转换为秒. D- d0 S- A4 s4 H% D+ W- O. p
SECONDS_PER_MINUTE = 60/ S" B* {. C% z: y
SECONDS_PER_HOUR = 3600
6 w" J8 E: E' D6 [4 b( f6 I) [ SECONDS_PER_DAY = 86400$ _; Y3 l q! L: p: H- U$ f& y/ V; f
# O! ]9 e ~2 P. s( n) i# K1 F# l( R
# 输入天、小时、分钟、秒的数量
. g7 _7 l' X$ ~4 H days = int(input("Enter number of Days: "))
$ p6 V; U9 E, Y7 W2 D& ` hours = int(input("Enter number of Hours: "))# z9 D8 w7 h/ N
minutes = int(input("Enter number of Minutes: "))
9 K+ r* a/ n6 S8 n7 g seconds = int(input("Enter number of Seconds: "))
5 j3 }$ ?$ t9 ~& a) q- R, B7 ?6 Q ' T4 A) b8 I( Q. j" M, X; L
# 计算
6 D& B; {7 v3 i$ f5 y total_seconds = days * SECONDS_PER_DAY0 W0 B2 W- {! E; T+ T0 {! R2 J
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)+ K/ O' I5 i8 q5 \
total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE): y4 R! P* h4 h2 p, c. s
total_seconds = total_seconds + seconds
# B7 x6 x. h+ V : @7 I' T7 K# m5 s+ B- N1 v; E
# 结果9 W' @4 o8 N" O8 x4 Q: |
print("Total number of seconds: ","%d"%(total_seconds))5 v2 t+ U, F4 I$ e7 b9 S
'''
# K2 `) V2 Q9 M# W: f Enter number of Days: 55 t0 [: W! X3 R, Q
Enter number of Hours: 36* X" k' K. `3 }# p. I1 f3 z
Enter number of Minutes: 24" `/ f( {( v5 N4 s2 O
Enter number of Seconds: 15
+ W; B# |; ]. Z% J+ I- ? Total number of seconds: 563055
4 k) r( _0 l# E! W6 X, A9 o& F2 G '''
/ u- V& U% @4 v' O# ?
6 b. l0 K5 M3 j: C9 ` 三、使用 Pandas 获取当前日期和时间! z. }2 d) p1 q8 g
import pandas as pd- S$ E+ p) m8 _$ ?3 b2 H
print(pd.datetime.now()) # 2018-01-19 16:08:28.393553
7 s2 X$ V- }+ Z/ S- J" n print(pd.datetime.now().date()) # 2018-01-19
( n) A6 u. ]3 x: O* x- [# V print(pd.datetime.now().year) # 2018
: d* z' A. u+ ?. g: a9 q print(pd.datetime.now().month) # 1' G8 Z- Y" a9 L5 [- I) d
print(pd.datetime.now().day) # 19
' q$ A7 \2 ~+ z8 s print(pd.datetime.now().hour) # 16- r+ ^$ \. Y( K; k0 ]" r s) `
print(pd.datetime.now().minute) # 8
1 ~- o- x: H! d9 G+ `9 O+ x* x5 A6 C print(pd.datetime.now().second) # 289 w7 T7 q- X2 M" V
print(pd.datetime.now().microsecond) # 394553
4 q* }8 f+ `, r0 E $ [# O7 S' f3 F
四、将字符串转换为日期时间对象0 Z$ X; m, i" ?6 y1 k0 `
from datetime import datetime
x* x, {4 c# V% k& z from dateutil import parser( U3 w# f; e; Q* T! g N
( }: T/ A' X! @6 B- I8 ?
d1 = "Jan 7 2015 1:15PM"; I0 M5 b% o6 G, ^6 H* m
d2 = "2015 Jan 7 1:33PM"; W6 }* T+ {6 l, O3 \! v
8 k: d3 J- A/ k. ?2 ~4 d& N$ G. |7 |# T # If you know date format1 ^; J( [6 n/ ]( A; ~' y( h0 D
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')
+ B3 l4 A( i2 J& s) @5 F% e print(type(date1)) # class 'datetime.datetime', Q* m' z9 i% j( D% n& `3 \8 q$ P6 M
print(date1) # 2015-01-07 13:15:00
( @, Z, i2 {' I! c / W- K+ X: p) a7 w3 b$ E) h1 L/ L$ G- n
# If you don't know date format
6 p# l& f: @9 C1 F date2 = parser.parse(d2)
7 ]( ]3 n0 N/ i: a print(type(date2)) # class 'datetime.datetime'
. }/ b# R1 Z# f' ~; q3 m) } print(date2) # 2015-01-07 13:33:006 a# X( h* o# |) c
5 m! m. |0 F0 `! V6 {( Y
五、以毫秒为单位获取当前时间
' ~& M/ ^8 ^2 O( m3 o import time, n6 E! t5 n% c9 F2 k+ c' u
0 n6 a8 u2 L; h8 P4 a- w milliseconds = int(round(time.time() * 1000)). y, p% X& ~7 U6 Q
print(milliseconds) # 1516364270650' l J5 ^" S( X5 z* T* c) d
( n, q2 R1 S" }5 G+ g
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间
" `4 U3 W* z' u3 F8 H+ ` from datetime import datetime% u, b4 O( s; F2 @8 Y9 \
from pytz import timezone
4 d* S p: H& B% h+ J) j2 k
% M1 n* n! e$ t mst = timezone('MST')) j3 P1 I; n5 K+ C
print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:004 Q P" ^4 `6 K c# L2 @6 E
est = timezone('EST')
4 U6 b6 \4 ^. v print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:00
l; g- }0 L# h& u utc = timezone('UTC')0 Q& B7 R. C4 l% K) M& \4 \: F% {
print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00
" S, e: F" b5 r- V' L0 M. g gmt = timezone('GMT')
1 q( h1 |. z) a- a9 E print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00" X$ C$ ?" _1 _1 k
hst = timezone('HST')
. [1 H6 _ ?3 R# h print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00; t# W; I: {& I3 D: E- e. z# W
8 k% k2 \3 A0 _ 七、从给定的日期当中获取星期几
6 S8 b1 q! i# G+ ]8 y. o x import datetime
- Z Q- I3 _8 ]# L. ~; Z4 d' U0 L; d1 I 5 v6 E) {5 Q) @9 ^* L
dayofweek = datetime.date(2010, 6, 16).strftime("%A")) N. x5 ]# Z" E% N I) G3 f" y
print(dayofweek) # Wednesday6 Q f# O" Z1 |
% b3 S4 W! p( J7 \7 N7 d
# weekday()方法: 0代表周一,6代表周日- T G( b) G# d$ c, Z- C9 W
print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 2
: o$ C: n" g4 [& h
/ n+ }* {' V+ g/ O) V" X8 e/ P # isoweekday() 方法: 1代表周一,7代表周日
- }4 J' L( b4 @1 h" ?8 I* [ print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3
+ `* T; O% @2 o+ Q7 f- J. ~
. r8 r; B, d) T, h1 [" m1 D3 p* | dayofweek = datetime.datetime.today().strftime("%A")! H' O* G0 S' L) H9 Z* c- G# s1 @( H( R
print(dayofweek) # Friday
# _) ]8 e- {. W ^$ Y) e+ P print("weekday():", datetime.datetime.today().weekday()) # weekday(): 49 T! v) A- u( y6 X
print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5
* z+ Y. b" J. T 0 D$ \1 c( }5 [- v i2 f5 t
八、计算两个日期时间对象之间的时差
& D4 n" A0 E; ` import datetime
% ~( Q9 u- | Y' g1 {6 P9 _3 v from datetime import timedelta
, r2 \3 l4 E. j - T% v7 a% u7 F7 j
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'( v" |5 G5 W8 j: ?
date1 = '2016-04-16 10:01:28.585'
- q: J! `; s4 L! v$ B date2 = '2016-03-10 09:56:28.067'
: c9 E) n6 F5 n3 f diff = datetime.datetime.strptime(date1, datetimeFormat)\
; n4 b0 A! A. }% v5 \8 z- \ - datetime.datetime.strptime(date2, datetimeFormat)
3 _- P+ ?1 u2 K$ S: ~# A . ]/ h7 h) h: v/ D) {" Q7 K* g$ ]
print("Difference:", diff) # Difference: 37 days, 0:05:00.518000% Y& i0 ~" ?, u
print("Days:", diff.days) # Days: 37 }' ]: Z: K/ h& Q
print("Microseconds:", diff.microseconds) # Microseconds: 518000- `5 |/ ]2 y6 z" S
print("Seconds:", diff.seconds) # Seconds: 300
% b" r4 I8 ~5 b( U0 j. P , ^2 H5 v3 K- H
九、将 5 分钟添加到 Unix 时间戳6 x* m/ q% a. `% I1 r
import datetime
1 B2 e! e I8 A% q& M% x import calendar
7 R8 A3 D$ U" P& j0 D# a/ K 1 @8 ^1 f8 b+ i/ q7 T+ L
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)" x9 @, e* W3 }( O
print(calendar.timegm(future.timetuple())) # 1621069619
3 a l, n4 j8 a/ N" r7 t1 \ 3 \# I9 a; q# g
十、遍历一系列日期
9 Z9 c' K9 q# h, p* Z6 |: P import datetime2 n8 T4 U; e" X0 {: r
2 K! k7 r) O8 T ]+ Z' M3 C
start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")
0 s3 c& k3 ?( m5 ?; f& D) i. ~( l7 _ end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
, u1 M% X9 P3 x" Q! L# V date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]
2 G+ a8 E$ @; K* J4 D
' G" _) X! b# _! I6 y, v3 {. R for date in date_generated:
5 g7 C) a* m2 h4 ?- Y# Y print(date.strftime("%d-%m-%Y"))
' Y5 P/ k6 J" E1 J% D ) N }0 G" f: n- ~" \; N
十一、巴黎时间更改为纽约时间1 \4 Y* L1 G2 p
import pendulum, S4 ?9 F8 {9 U$ t
& o- n- e0 [* s- U in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')
& E+ o( n" y: D/ h- ]& r print(in_paris) # 2016-08-07T22:24:30+02:00
* I+ k7 ?5 g8 r }
0 t' h2 q8 q: o. W5 W6 p3 u in_us = in_paris.in_timezone('America/New_York')* w) ] q: F0 U: i
print(in_us) # 2016-08-07T16:24:30-04:00! a* D1 v3 F. |# h; O, e
, S+ I1 v& x2 S* ?* W0 L
十二、使用 Python 获得最后7个工作日
0 w* X; ^4 b% ~5 f9 j& j from datetime import date
. P O: i1 X5 Y8 R& X) y: X1 ~3 _ from datetime import timedelta j% O% m+ f# i1 Y' K4 U9 t* ^
+ v# ^% S% Y6 ^1 j& v* S( g today = date.today()
# ]+ o$ k+ C V6 S' w, u# X l
: o$ Y7 v; K% _ for i in range(7):
) E T- L, Y# ~" L d = today - timedelta(days=i)
; v2 j' `# _2 O) z. r if d.weekday() < 5:
+ b& h& V; w. J$ S3 g& F6 L) V print(d)
0 _7 E; Q$ C: l5 G
f1 J8 T$ Z1 W* ` 十三、从今天的日期和一个人的生日推算年龄
1 s ^' B0 g; e+ n2 w& I4 ? from datetime import date
4 w- a4 J( f' Z) Z' a( m# z$ z 1 |* P1 O& ^. n7 g6 ?
5 u6 ?& N7 D3 V def calculate_age(born):) c/ O* x7 g; Z* d3 ]# G/ e
today = date.today()
3 q R3 t+ }( K! {& } try:! E- J8 z/ C" r; \+ G Q1 l# \! R2 \
birthday = born.replace(year=today.year)
" V8 T) w9 I0 p% P except ValueError:+ X1 q1 J+ D' ~" V
birthday = born.replace(year=today.year, month=born.month + 1, day=1)
7 K. |/ M: [7 }' ~+ d9 P! } if birthday > today:6 w5 @" I& r* R+ g4 P
return today.year - born.year - 1
1 q0 `- [! B+ \! \& V; Q0 x" Q else:- x) b# _4 @$ D
return today.year - born.year
0 n/ f) \5 P, B5 S0 { " l; X% _- C! z/ d
9 S4 p, ?' J3 L5 o6 S0 k' v
print(calculate_age(date(2001, 3, 1)))
3 c1 |" f( g) ^8 u/ f6 z) d 8 q* F2 X# j1 {) s
十四、获得本月的第一个星期二1 ~$ m! ]+ d: d% m7 l
import calendar7 U8 M/ \* G8 ~* W$ ^
from datetime import datetime# w% F% I G# l I; o" ^/ S2 O
2 m3 f/ q6 ?$ P! h) {- L7 `) e c = calendar.Calendar(firstweekday=calendar.SUNDAY)
' Y6 J6 R3 }1 U monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
: y: p. T# p1 a #Python小白学习交流群:153708845 + V. K& q# d- s3 w2 S5 A
try:
, \2 p, {/ k2 r( _+ b* X tues = [day for week in monthcal for day in week if
) Y: E* P Z/ O- \. y2 ? day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
6 a0 \) N5 \8 R( X2 j print(tues)
4 h& Q9 [$ W7 e8 K* | except IndexError:
& x* M* }+ X8 I6 V! g6 Z print('No date found')
! ~0 h2 r" O) X' T4 t4 N 4 N4 x9 G+ |, M
十五、将整数转换为日期对象/ a5 e& ?, J9 ]
from datetime import datetime
2 e, G6 U1 q7 b. G1 @) C- a% W 1 l% V% N# r8 l+ Q" {
i = 1545730073
3 y& {+ t. p7 S timestamp = datetime.fromtimestamp(i)0 J( s! Q% S3 s
8 g9 ^' B G( q print(timestamp) # 2018-12-25 14:57:53
- f% P0 Q# R$ {$ [ print(type(timestamp))
$ p$ l' ?% q$ g8 r8 ^5 G
! j: C! ^& ]( Q, c 十六、当前日期减去 N 天的天数
0 g9 i2 F. H g7 k" g# U5 }1 W from datetime import datetime, timedelta
: `0 T- C# P5 n8 n0 q 5 ^$ ~) M1 X) p5 n
d = datetime.today() - timedelta(days=5)
. k" v: C* m, G- f0 ^! q6 I; J print(d); g6 X6 r5 f* L# r) k% {
' N4 I2 w+ c' z) f% U/ B
十七、比较两个日期0 e" k+ P7 q I$ A8 t9 U
import datetime
8 c/ A$ M9 i! s+ K ^& U7 D : L x7 q7 f2 x9 y" r; F( X
a = datetime.datetime(2020, 12, 31, 23, 59, 59)
7 ]6 a7 Y! x/ [( |. |+ U; S" f: v b = datetime.datetime(2020, 11, 30, 23, 59, 59)
o- B: e" W& T0 r. ] , D5 I% W: B0 U: s; o$ L) m
print(a < b)
# B( }5 l. ^) V7 R print(a > b). I( i$ G* E2 x. g9 ^
+ b+ ?, y: }- v' z
十八、从 datetime 对象中提取年份
) o: E8 Y1 D: d! v; W# m import datetime
5 Q7 c/ ^. X3 M. e6 K2 h S) b
5 W' r9 e! ^# h5 A year = datetime.date.today().year
# _7 n# z% V8 S1 Z print(year)
- _; X& S Z0 a
6 o* B4 z% ]0 e% {, n% V' b 十九、根据日期找到星期几5 J9 K% v( x$ z
import pendulum
?5 m5 h- O$ X . {- [4 e1 T% T6 o4 ~
dt = pendulum.parse('2021-05-18')
" ?9 \$ Q. `5 C$ J: i* M print(dt.day_of_week) # 2# m; s2 Q; \1 }6 z* C) N
. M! u9 ~/ |$ f% ]' S: e! `
dt = pendulum.parse('2021-05-01')
5 O( d p7 I+ \: Y2 E% B% h print(dt.day_of_week) # 6
8 h- u3 o0 t# \2 _: N6 Q5 ] + D+ f( q" O1 K& s. R
dt = pendulum.parse('2021-05-21')
' ]6 M" I7 f. ]2 M* g1 r print(dt.day_of_week) # 5
4 z9 d' j; m2 i/ n8 Q j - [& i0 d+ Y# J7 y/ u8 ]
二十、从当前日期获取 7 天前的日期
$ g0 b' K! ?. J0 e- p' s from datetime import datetime, timedelta$ E2 r$ N8 F8 w8 c
: s& y4 K0 e; V" H+ |1 h now = datetime.now()
2 _5 \- k, d" U/ J/ F
- E, y0 S9 e% f* a for x in range(7):/ i/ [9 S$ e1 T4 I
d = now - timedelta(days=x)4 S. `* q% S& e" s& V) ~7 Z% r
print(d.strftime("%Y-%m-%d"))3 {4 l8 h/ [; i! X/ T/ `; F: z
^; `: Q) r8 w 二十一、将两个日期时间对象之间的差值转换为秒. r1 ?4 q: n r$ [
import datetime9 Q& C8 W5 V& u, V3 z
. q$ g, j4 g) q$ t: E7 W5 t
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')' M) U$ L! U2 a
time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')
0 F% E3 P$ c) ^. A8 L; K
+ P' r" E: h* S& S4 ^/ o/ e& B( v difference = time2 - time1
3 H" u8 @3 G+ d+ Q/ X% X print(difference) # 6 days, 0:00:00
+ z; u1 w7 _5 X8 j) m " Y+ z9 B0 |* U/ J
seconds = difference.total_seconds()
( y j0 ?& R$ ~3 ?/ p print(seconds) # 518400.0) R4 X" N! ?" O8 `, T6 z" A
6 E6 z9 @* h( T& H$ ?- L
二十二、获得任何一个月的第N个星期五$ m+ {2 `7 G. K! M" T7 J
import calendar1 t( `9 I$ _: N( b5 B) s& _: k
8 u: ~1 ^9 F) }" } # 取2021年5月的第三个星期五
( P# h0 Q9 T4 _ y0 {4 i& o c = calendar.Calendar(firstweekday=calendar.SUNDAY)
) r2 d& N: n) K% q: P5 n9 _ year = 2021% k0 N I) [8 r4 B: ^
month = 5# k4 ^$ l; j& y' X' i ]
n = 2 # 取第三个; W, v) F; {8 f2 Y! [! K' V
monthcal = c.monthdatescalendar(year, month)# J2 E9 W2 @$ d5 ^" ]; m. l/ G1 T
1 C! S6 n' U& x) H try:+ c$ E' ~% y- v
third_friday = [' w$ U- R3 d1 \- Q/ S
day for week in monthcal 7 s" ~9 |2 E4 X4 a. e% B0 a
for day in week if
4 ]5 p& B' I Q- x' S& j. E6 [7 v day.weekday() == calendar.FRIDAY and day.month == month
( p( Q6 M* F6 A. J' h, g6 Y5 z- { ][n]( W2 V, d) ]) t: k
print(third_friday) # 2021-05-21
1 ^* {/ o+ s/ @7 D" O7 Z except IndexError:
5 h. J @* N. l print('No date found')
9 y: p* ?: H: ~# S& }( N 8 G9 J& I r5 c' M# I# t! _
二十三、根据周数获取日期
' D N, V' `) T }( f, U; E+ e import datetime& b8 t7 W x, f) ~, U; s
from dateutil.relativedelta import relativedelta' }! F# i- L) ]3 e V
( B" |& P- ~) d- e: `7 f
week = 251 X: |" i, q/ ]$ ~
year = 2021) U7 Z- d6 l) G* d' G
date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)8 g8 w; ?2 @" H4 Q, O
print(date) # 2021-06-25
- U6 \2 B& i5 R# q$ B+ y6 c. O$ _
' \% }) `% V7 Z. u |9 } 二十四、获取特定日期的工作日$ a3 O( u, b! t0 D" e( ~
import datetime4 @; @' m. z1 Z" C: E- c' C7 m3 C
3 ^2 B: N" C# m* ^/ w { print(datetime.date(2020, 5, 15).isocalendar()[2]) # 51 H( q S; E: k k, f; ?
$ ], u) A" f9 a1 w1 v
二十五、创建一个 15 分钟前的 DateTime
! Z) y8 X/ W$ v$ ~" C* k import datetime+ x% M8 r3 y1 H# b3 x: w: A
#Python小白学习交流群:153708845
. y1 L. }) q4 W3 t3 _ dt = datetime.datetime.now() - datetime.timedelta(minutes=15)
8 ?$ }7 s& w0 f' \ print(dt) # 2021-05-15 22:25:55.8973658 m! g4 m" L/ P! @4 M: C/ I
5 m3 @9 }9 R' q* u; B+ j 二十六、从特定日期获取周的开始和结束日期( F2 ]& u, T. w* W6 n3 i
import pendulum
; A" v1 t9 n- d( t: I
" e( q* Z* Y1 _3 |+ k dt = pendulum.datetime(2012, 9, 5)
& L5 R9 w6 Y! \8 s+ n( Q
+ u& ~: ^4 x; u y start = dt.start_of('week')+ U6 P4 `: M- G ^" H0 A
print(start.to_datetime_string()) # 2012-09-03 00:00:00, T' v5 d$ \ e4 ^3 h# J
5 u( d5 |5 Z6 q0 A+ K2 i end = dt.end_of('week')
, U! F- w! x+ n6 p* q& v$ o1 A2 V- X print(end.to_datetime_string()) # 2012-09-09 23:59:593 m K3 P4 }# Z3 C, V: B$ [
8 N8 x$ D# w3 a. G* U9 Z N- E
二十七、两个日期之间的差异(以秒为单位)
3 U' a$ a" X' Q' ~/ D4 h3 U from datetime import datetime/ K' @/ \- j" j
#Python小白学习交流群:153708845 ) d& l) i: E4 h; A& Z5 ]
fmt = '%Y-%m-%d %H:%M:%S'+ h5 E1 w7 v% K" J: F7 A2 K
d1 = datetime.strptime('2020-01-01 17:31:22', fmt). S" j( e7 G. o; J. {( T$ l# D
d2 = datetime.strptime('2020-01-03 17:31:22', fmt)
' C5 v+ Q* _; q3 g W9 k' E( @' i& F
days_diff = d2 - d1
% ~9 }: I+ p) C* u4 g; ^ print(days_diff.days * 24 * 60 * 60) # 172800) p) k, a7 }0 `: {- F
4 r" N+ B2 f( [3 o* D5 T 二十八、以这种格式获取昨天的日期MMDDYY; ~/ T. u' E& T, v
from datetime import date, timedelta
" X* v6 ~& y0 R) A 5 {2 o' A1 P Z8 K- b8 L
yesterday = date.today() - timedelta(days=1)
+ p" u7 k' e; w" \0 }# F/ n print(yesterday.strftime('%m%d%y')) # 051421
# V: u3 r7 [7 g- K3 \ * v4 e. ?; m, C8 J' X. w
二十九、根据今天的日期获取上周三的日期
9 Z" M0 c- V% ~, D, t from datetime import date
/ ~" {; U" ]) @8 b! G6 r from datetime import timedelta
! d/ |6 H1 P( }; l1 M
) \8 T% R" L* W& ? today = date.today()
- M" m/ j& O' V& H : G- b# M: r2 ?5 n8 q, Q- |2 |# J8 \
offset = (today.weekday() - 2) % 72 e" G* V0 o& G% b: Z1 O$ _
wednesday = today - timedelta(days=offset)
% }2 w; f$ E. j+ h8 z- W print(wednesday) # 2021-05-12! ~2 ^7 l1 i6 P5 `' z4 _ q" Y B9 t
7 e, E- L. v0 U$ Y: s0 ? 三十、所有可用时区的列表打印% J% j8 r. O5 Z, D+ x- u# Y$ Z
import pytz; e2 T: j: }7 X# Y* N
X. N# U, K9 S k l3 r for i in pytz.all_timezones:
3 M- H$ t& u T8 l( z print(i)
$ |6 g; F9 U! j$ O( F * Y* U9 y+ n) D- B
* i! d. u* z2 V ?1 a- Z( w
! p! y9 `1 o% Y! q, o: y1 h
zan