在线时间 466 小时 最后登录 2025-7-9 注册时间 2023-7-11 听众数 4 收听数 0 能力 0 分 体力 7432 点 威望 0 点 阅读权限 255 积分 2810 相册 0 日志 0 记录 0 帖子 1160 主题 1175 精华 0 分享 0 好友 1
该用户从未签到
使用 time 模块展示当前日期和时间1 Z8 Z4 G0 Q# J5 u
import time- [5 f. d- @) V3 H
from time import gmtime, strftime4 {7 J% E/ ~, h; q4 S6 [4 Z
$ `( r4 E b/ }; g( X4 ^0 R C
t = time.localtime()
5 b* v! I6 T: m print (time.asctime(t)) # Sun May 7 09:30:37 2017% F+ i# h. j, T7 z' \, p& E/ `
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000
* u! H- R l, {* f# S print(strftime("%A", gmtime())) # Sunday
! X, x d6 ]1 V7 [+ o9 T5 \ print(strftime("%D", gmtime())) # 05/07/17
" z, B# C' Y9 z print(strftime("%B", gmtime())) # May
5 d4 ^% `1 w x7 l& X print(strftime("%y", gmtime())) # 17
1 D9 o8 p( n! R
* F7 u$ h; ?' e # Convert seconds into GMT date
) Q7 |5 S1 l3 W7 b: F/ D% i, C6 E4 F print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +0000
/ D, W) `9 @7 E6 g 1 u3 m+ I1 ^4 p0 I+ f
二、将天、小时、分钟转换为秒
: j% D6 f9 S/ Q SECONDS_PER_MINUTE = 60/ e& e8 Z% ?: @ t8 Q
SECONDS_PER_HOUR = 3600
1 y8 H, I* ~$ a j SECONDS_PER_DAY = 86400
3 _! U8 Q& U8 c: T1 ^
4 i& \7 o8 ^3 I" B7 I9 w # 输入天、小时、分钟、秒的数量* W4 i. g- Y& Z- G5 E% B
days = int(input("Enter number of Days: ")), R0 c% L6 V# J$ n9 G
hours = int(input("Enter number of Hours: "))
+ k7 o0 d, a* d& H3 U0 n- J minutes = int(input("Enter number of Minutes: ")), N0 b5 J/ e# l. S/ X' N- W. @+ v, G% C
seconds = int(input("Enter number of Seconds: "))
% d3 V( S+ R) |/ N" \% `5 R6 ^
0 u" P( k8 z0 P0 p8 D # 计算
4 n1 y R* ]" R7 b% @- R' I total_seconds = days * SECONDS_PER_DAY1 A; H# B m, N f$ Y
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)
9 C9 I. Y/ D7 @ total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)
; l$ n; u$ U2 X! i' U total_seconds = total_seconds + seconds. V, C0 `0 t+ q- {6 X# ]
1 N7 ^: }1 i7 y1 R # 结果( j6 e% y. O, }' y6 h
print("Total number of seconds: ","%d"%(total_seconds))
' @7 w* }4 g5 ~0 [: ]2 x '''/ J- A+ @6 }# k& q. e: \
Enter number of Days: 5/ {8 C4 m+ O$ ^/ n7 U
Enter number of Hours: 364 n& V5 T& U& b4 ^
Enter number of Minutes: 24) C6 ^5 ^/ V& \
Enter number of Seconds: 15
/ Q3 d5 @4 ^) k0 X/ K Total number of seconds: 5630557 g1 a/ I% X' d1 b# c
'''+ g0 _0 g5 F: s% }; V0 A
) q4 _4 I% C2 F! Q. }
三、使用 Pandas 获取当前日期和时间1 k, j' u+ b7 r5 u0 |
import pandas as pd
% }+ t: `3 J3 b) _ print(pd.datetime.now()) # 2018-01-19 16:08:28.393553
h; o' n6 Q( l: G2 S print(pd.datetime.now().date()) # 2018-01-19
1 a9 Q/ @/ r4 R, S6 @& f: x- } print(pd.datetime.now().year) # 2018
* a" \' e9 `3 y m2 O# m$ R( ` print(pd.datetime.now().month) # 19 j; x7 R2 J ?# Y' S; k
print(pd.datetime.now().day) # 191 X0 W) ~7 N; j1 C; K; L9 A
print(pd.datetime.now().hour) # 165 M6 K/ W. B" K) v# d
print(pd.datetime.now().minute) # 8
* _8 Z4 Y1 ^8 \% G0 a! n" S print(pd.datetime.now().second) # 28
m( y+ d+ B2 _7 ^; y8 d* d/ B print(pd.datetime.now().microsecond) # 394553" y0 A7 B0 d" y# H# N
* s7 F ^% P. y! A; ^( L 四、将字符串转换为日期时间对象9 P" L7 z5 h) w1 D( Q6 e
from datetime import datetime6 r, f2 ]5 x% n% ^- O
from dateutil import parser3 s5 ?* r) f+ d% O5 e! J/ e
, E+ H/ `# I% E" f; C d1 = "Jan 7 2015 1:15PM"
4 p* g, I( x- Z* [+ J5 C d2 = "2015 Jan 7 1:33PM"- H! i- P: N/ J h6 v( F! T2 U
5 E% u- t6 [4 m # If you know date format
% y; V7 k, ]( {; n9 H, p date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')1 A1 d8 J; ~$ o7 t* y+ |/ b
print(type(date1)) # class 'datetime.datetime'
, M# d1 u( u B1 H$ z% L" F1 H print(date1) # 2015-01-07 13:15:00
+ C. t8 B" w. Z8 }! [8 z+ M% y# t
5 x" [7 B% M2 u! {3 J P # If you don't know date format: n0 O* [" N* D" _! H R
date2 = parser.parse(d2)
7 \2 d. `' X! F' c- M6 K print(type(date2)) # class 'datetime.datetime'
" s Q/ J( S# u9 ]" R) D print(date2) # 2015-01-07 13:33:00% j: W, z& s8 @7 I) {7 d
& ~+ S2 g' `2 d e O/ q
五、以毫秒为单位获取当前时间
( q) c! a5 K& e! |' D import time
3 D8 i2 S' v0 Q! A" v 7 w& ^8 p' {) d) k% q$ K
milliseconds = int(round(time.time() * 1000))
* s: S! Y5 ]# |$ E9 s9 y$ A print(milliseconds) # 1516364270650
" {( O2 |3 L# V! V , E) D# c5 f: K3 f) u
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间
1 T l7 S. K# \' N& I# n from datetime import datetime' }& q% n" L( O6 ]
from pytz import timezone/ F& N1 ^6 y0 J
' ?: D; Q6 S5 R1 S mst = timezone('MST')
( _( r& d q5 C" z print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:001 d7 H& d$ g" v# a6 u
est = timezone('EST')& y# o# o9 x# g5 g
print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:00& S+ O7 q) q. s2 z
utc = timezone('UTC')0 h- T7 Q0 k, f8 T0 I0 [% R
print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00
9 ~" z0 G3 a8 s8 T) j# \$ ^& _ gmt = timezone('GMT')! X. t+ M9 g5 c0 L; Y) j
print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00/ }# }2 c: N E' G- R. ~
hst = timezone('HST')
+ O9 N& X: z0 x6 w. W, j. ?: { print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00 w4 q1 Y4 i% i8 h, U# r- o+ ^" U
1 \& E3 V. O0 B 七、从给定的日期当中获取星期几
; `0 I/ Q8 O, X) ~ import datetime# e' I- c+ g2 U
/ W9 k, U$ J2 Z% ` dayofweek = datetime.date(2010, 6, 16).strftime("%A")( P+ u b0 N; f3 c5 ?" {8 Y' c
print(dayofweek) # Wednesday1 S. {. }/ `- D _, @3 |
, p4 \' |" X' ~; \ # weekday()方法: 0代表周一,6代表周日$ n7 e: Z( ~3 w8 E3 @: @
print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 2
& e0 }; d# N$ E2 Q: A " G, g, |% y; y
# isoweekday() 方法: 1代表周一,7代表周日
/ f- q. k1 o7 O9 H# b V5 a print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3; R8 h+ O' H- z- P' Q9 l" @- |
2 t5 |% e( t5 Y* m( ~. _
dayofweek = datetime.datetime.today().strftime("%A")) z: \+ p% G8 Z9 ?) a3 {# j
print(dayofweek) # Friday r! a1 X" Q) A1 }/ l
print("weekday():", datetime.datetime.today().weekday()) # weekday(): 4: ] h- m W% r: c$ {
print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5
( |% \/ [5 c* }7 w, A z
$ o+ @) P& O" ~: ?% V+ H% ^8 W 八、计算两个日期时间对象之间的时差( i( v) I8 X* g# P: X! J& ~8 X6 M
import datetime
- {! j1 R/ n6 b/ s from datetime import timedelta/ u, e. E9 T, }$ S
; O& W9 ~% z+ X
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'
# @3 H2 }; ^6 Q3 \- q2 F+ L date1 = '2016-04-16 10:01:28.585'$ A8 `+ g4 C0 U W& n; C
date2 = '2016-03-10 09:56:28.067'
$ b! L/ [; k3 V* D( T3 ^% x diff = datetime.datetime.strptime(date1, datetimeFormat)\
R" t$ T4 E4 f3 r( g# ? - datetime.datetime.strptime(date2, datetimeFormat)
3 o4 g; H, F2 h @
. |* T! d8 `% r8 T5 U print("Difference:", diff) # Difference: 37 days, 0:05:00.518000
' h* |# N, H4 ~0 y! |! D4 v& g print("Days:", diff.days) # Days: 37% v9 \0 O b3 @& ^! i) e: J* A
print("Microseconds:", diff.microseconds) # Microseconds: 5180009 S$ Y5 [# d8 r4 A/ u
print("Seconds:", diff.seconds) # Seconds: 300, x1 X' Z& y* w" B! k6 {
0 `5 M' H2 [3 S3 J8 V 九、将 5 分钟添加到 Unix 时间戳
2 ?3 e0 Y! c4 K* ]. g; q$ W import datetime$ L/ e1 x' y- P: s, }1 D
import calendar* x) z. q4 ~: v6 v3 D1 [$ G! u
+ Z9 z, o, p# V, g
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)( P# j t& C& |1 U, @: h
print(calendar.timegm(future.timetuple())) # 16210696194 F' T, G, ^2 K' I" ? _
y8 U5 f9 g T' b
十、遍历一系列日期7 ?+ C* m1 V0 W" ~
import datetime9 `0 X' s9 \) v& g; E' B1 s; x
/ x0 \' U U5 ]% l+ G2 f! |, |" X
start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")0 h- _3 u9 N5 U4 r" p ]
end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
6 q5 h% j7 I Q$ r3 `/ \4 { U date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]* }; a6 G1 k2 k4 _# p
4 s* f: R0 P; I+ G
for date in date_generated:! Z5 n# o6 G9 H0 T3 q6 f
print(date.strftime("%d-%m-%Y"))9 h! } F1 n/ n7 _3 y5 [
* r7 ?/ ^) M5 ~5 T( [' H
十一、巴黎时间更改为纽约时间
9 p& q6 ~" u8 h. o1 o import pendulum
2 V1 j8 j* ]( L( q9 {
a4 A9 } k0 J: J0 m3 \ in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')
) g8 m) Y: Q4 i print(in_paris) # 2016-08-07T22:24:30+02:001 h7 H# B9 ^, [( n
3 R: G$ i6 a1 X" m in_us = in_paris.in_timezone('America/New_York')
& e6 V% \1 K- C: X# p; F6 W print(in_us) # 2016-08-07T16:24:30-04:00
) E: U3 ^/ I& @% `( b: x ( ^! c0 J5 E- H" v6 b) Z( i
十二、使用 Python 获得最后7个工作日
" z0 ~) \! e* D, Q0 s2 q! R from datetime import date
& r* k! }9 u. ]: Z from datetime import timedelta2 E, ^& O2 @5 p% n
( H+ g( c9 a5 Z: n( Y5 C# K
today = date.today()' p4 m L% @3 p. i5 X
3 ]" r0 x- ^' D7 [( R5 _+ N for i in range(7):
9 O) }8 i7 S Y3 Q7 e d = today - timedelta(days=i)
d2 y: n" x+ N. a, A if d.weekday() < 5:$ O9 T* R# Q/ m! I
print(d)
6 y. @! D# {* r) f" Y ; R, c! O" B5 ]9 k n4 S
十三、从今天的日期和一个人的生日推算年龄0 U2 \0 [8 R9 l: N
from datetime import date) h* `4 }4 U" T4 r9 @2 s% q
! y5 o, Q3 T& h2 ^+ N z
, M/ [3 ^0 d7 U& x2 K4 w, P+ E def calculate_age(born):& @/ y5 p) R0 |5 H/ j0 _
today = date.today()6 g& T6 {; V; U9 \5 z1 h Q
try:; z D1 t$ Q p1 F1 J
birthday = born.replace(year=today.year); F2 H+ @0 o5 _& z. e5 y
except ValueError:
: z" J. y( }5 L0 [' H birthday = born.replace(year=today.year, month=born.month + 1, day=1)
- J( w4 |" Y1 @' x6 p+ v* Y$ R2 [" H if birthday > today:
9 e' ]6 }6 d' T+ s" U return today.year - born.year - 1
+ c; m0 s* t5 Q0 G; {5 k4 F else:1 k5 c m; x' {* u1 E1 Q8 |$ y
return today.year - born.year' I; X4 y+ D# e% F
+ ~; t T& Q0 G/ g- I T' ^( ~6 N
/ K2 Y0 [8 k& C# ]* `
print(calculate_age(date(2001, 3, 1)))
) W d+ `4 g: u9 k
2 Q% a+ U8 W; C 十四、获得本月的第一个星期二) c, U9 Q. s% B9 r8 {: E2 t
import calendar
U _ S' t) I: k+ x from datetime import datetime2 r3 U+ i( t. X8 P; D
% { I2 \5 w) m4 x Y2 i c = calendar.Calendar(firstweekday=calendar.SUNDAY)3 T7 F$ h6 b! x' W4 P9 c; u
monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
4 d! \' O6 | ? #Python小白学习交流群:153708845
0 a% F8 x4 r* W, X8 U- S try:& P& K2 D1 e% p& e8 k- M
tues = [day for week in monthcal for day in week if5 b. \/ n/ h! J% l+ Y
day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]4 J: B/ o2 u' i3 K. K8 I3 t
print(tues)
" N" [# c9 y$ _# ]2 K& s7 x except IndexError:
. d. h* |5 S: Z' h) P print('No date found')
* \6 v- p9 V. X! |" J1 E& K/ W
# w* h: B# s: ?# P 十五、将整数转换为日期对象- Q1 |6 n/ H# ~, C* u
from datetime import datetime
# ^6 M1 X. S* G4 h; g1 |! d
9 P" |& j+ ?8 Y5 l; e. D i = 1545730073
( A5 w9 h5 ^0 C% u" c: R# y timestamp = datetime.fromtimestamp(i)
" }9 c5 ^( A. Q6 `& b7 \
$ Q+ K1 }6 I2 x print(timestamp) # 2018-12-25 14:57:53* y9 j1 O9 ^" Z$ o# J4 z; i
print(type(timestamp)); H# n7 C: F# z: D
% t8 n1 s G3 L* c
十六、当前日期减去 N 天的天数
" R) {% K/ N% S& Q& A( ?5 Y from datetime import datetime, timedelta! `0 L9 ]6 q9 ~. b+ S
9 m/ b1 C& v( N$ B1 o d = datetime.today() - timedelta(days=5)
" B; [5 w2 j: @+ w3 c) d print(d)% M' ^; _. h5 p3 s
( \( D% j- N P* O3 m5 x 十七、比较两个日期
: H( Z3 ~" }& P+ f import datetime% q- Z* ?5 [6 E
! R* V8 H( |, H1 o a = datetime.datetime(2020, 12, 31, 23, 59, 59): e. p! f( w' H# c* U+ h
b = datetime.datetime(2020, 11, 30, 23, 59, 59)6 _* w% U, H5 r8 i8 A
2 X1 U7 @, C9 ?
print(a < b)
. J+ _7 W, `" m x- t/ s print(a > b)2 K2 D9 L6 o- {. w9 n8 q+ S# k \: V9 S
! Z. u( C" [- y* H d 十八、从 datetime 对象中提取年份" j( S1 I; t! j7 d( m" r
import datetime
6 Z- E) K$ |: Q2 m, e0 `6 x 9 I- \! t# U# q& ^
year = datetime.date.today().year
0 P9 z* b( A! e( w$ y print(year)( \: o& f0 H; G0 P$ J0 r$ _; m4 R* G
2 Q- K# z( Q' @( X: ?: N+ b" N% x8 q2 F
十九、根据日期找到星期几) y! X+ h }5 [; R$ n$ }# K
import pendulum
6 Z6 y9 U; a1 e2 a5 q ` ( e% N( c d+ D# B6 l5 J' I
dt = pendulum.parse('2021-05-18')9 ?# M3 ]8 O+ d2 G
print(dt.day_of_week) # 24 _% {5 N' {# p; O% ?, P2 i
3 ]# |; P$ I* n$ R1 W dt = pendulum.parse('2021-05-01')+ H ]3 i/ P/ V% w+ v) V) Z2 m
print(dt.day_of_week) # 66 m" k6 L4 A I* \* o+ Y8 T1 u
% e/ C* u$ a# h1 {
dt = pendulum.parse('2021-05-21')# I4 }2 w" a; a g
print(dt.day_of_week) # 59 _/ ~5 D9 k& v. Y6 v2 n0 J/ E
0 f c; ~; ]& E. I( V3 |) t, T% q: D 二十、从当前日期获取 7 天前的日期
: W& a' Z; j \/ e) ?2 o" | from datetime import datetime, timedelta
4 N' l7 ~+ f; a. U3 Q2 W ! x* Z% d4 J* c6 W
now = datetime.now()
% n9 w9 o' N2 }( F7 p( \7 m
7 u# t# L$ j! u* R: S- N" V for x in range(7):
, X8 J$ Z6 f% S4 [ d = now - timedelta(days=x)* @4 M( c3 \ U/ {
print(d.strftime("%Y-%m-%d"))
, o8 ]3 Y. A6 N 9 }- ?2 V5 f- e6 E! B
二十一、将两个日期时间对象之间的差值转换为秒0 G c) c7 @- U8 h" v: y( C
import datetime1 {) Z% D* J; {5 D6 D
* P2 U0 i* W4 c. P# S. e& M/ z! V
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')
' C( y% J" _, y7 ]( s& a+ E+ j time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')
5 h k9 C# R1 w/ { ' `3 N6 T/ g/ K2 Z7 `4 z4 z1 |1 L" C) K
difference = time2 - time1
( t0 a2 F& G0 T* @2 z4 p) e3 s print(difference) # 6 days, 0:00:00* O, s, t- ?" R, _: [
6 }! \# v5 t- A% `/ t' y* d
seconds = difference.total_seconds()' c7 m- W/ S, m
print(seconds) # 518400.0
p/ m6 T; a+ T! l: P * ~" z- y# f7 E! ^) B! A% C
二十二、获得任何一个月的第N个星期五
2 L" I! R, Y2 P- z) n3 L$ b. W import calendar
0 |# F L# f) f! Z ' K- i6 ?5 T" {
# 取2021年5月的第三个星期五
; y* x& N4 I4 ?' i8 K8 I" D+ `- @ c = calendar.Calendar(firstweekday=calendar.SUNDAY)0 \ c) G% I( S" c2 m- T* H
year = 2021
2 Y O' p% D: \7 z, M/ K' W. ]7 N month = 56 J* K! x' a4 a. Y& f9 S
n = 2 # 取第三个
' H ?( X/ y. v- a2 m- D W& Y5 _5 Y monthcal = c.monthdatescalendar(year, month); r K6 Q) x2 z& u& Z2 A; P7 e9 U
/ p2 G4 [4 @; c K, g
try:, V$ i+ ^/ E) V( G
third_friday = [7 D3 |3 W/ }% z9 W, W- S' X0 C
day for week in monthcal
0 ~$ f5 n0 b- | d: G for day in week if+ s5 L; K4 E$ Z% Q* B
day.weekday() == calendar.FRIDAY and day.month == month
. y! y3 L) \! e. v9 D9 V& K ][n]0 o9 B! z2 {- I
print(third_friday) # 2021-05-21
X3 o6 ]1 O V' ] except IndexError:+ B6 j, y0 d; n) `( E' {
print('No date found')
& H. A" d2 Y7 c; X) [! S. W
- d* B6 j( X+ c2 J. n 二十三、根据周数获取日期, ], G2 |" B/ L1 F, k. u, F
import datetime
0 z, A* K( e- l$ q+ H" ? from dateutil.relativedelta import relativedelta/ W. N f9 O* r; s8 u6 A A
4 b" V' n! Y- E; ~
week = 25/ D# x. |& b) Q
year = 2021& J8 ^% R! B. h8 l$ e0 \! g
date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)& G5 h% W- F% u; r
print(date) # 2021-06-252 y5 {! x: K2 ^: B$ T4 x/ F
3 y k0 u) R( D$ v6 \
二十四、获取特定日期的工作日
2 C S5 Y6 N$ @2 H1 @ Y. D/ E import datetime
3 q* O* v n5 _' Q& ]) a( p5 ~
: ~7 |# ] | T; U) t9 O print(datetime.date(2020, 5, 15).isocalendar()[2]) # 5- [+ ]/ g/ p* ?# J5 R* u5 P: x0 a
9 z2 Z6 V B5 I, F, I8 S
二十五、创建一个 15 分钟前的 DateTime2 V: D* E( I" A4 [7 ]
import datetime
! Y9 d0 v* _: c* z! S #Python小白学习交流群:153708845
$ y3 c, i, J1 E9 x dt = datetime.datetime.now() - datetime.timedelta(minutes=15)
. V: O3 M: j5 [$ \ print(dt) # 2021-05-15 22:25:55.897365
( {0 V8 E+ a0 |4 F) G9 R- P& J( p8 ~" ^ + m) y7 M. \/ F& u* [7 t
二十六、从特定日期获取周的开始和结束日期3 b$ ^; A' X7 U* }) m
import pendulum
, B6 f, A% T( ?) i. M6 E3 z : T/ h8 l6 j$ f5 z3 [0 w
dt = pendulum.datetime(2012, 9, 5)
4 I/ q0 K2 D" M1 g$ L% q9 s / [$ {" ?) |! W. E
start = dt.start_of('week')
+ N' s+ V/ E' P$ y print(start.to_datetime_string()) # 2012-09-03 00:00:00
* [2 J. E- M0 n1 u1 ` * V$ }! V' ]9 q ]+ I5 x+ Q& W
end = dt.end_of('week')% t% C/ F$ H5 s8 t3 s
print(end.to_datetime_string()) # 2012-09-09 23:59:59: V: N" P+ U$ _3 o! \; f1 j
; c& e9 r" L, [$ B S 二十七、两个日期之间的差异(以秒为单位)1 i4 A7 x( a1 @- G1 m9 N
from datetime import datetime( v3 t+ n1 D6 i7 Q, Y$ ` P
#Python小白学习交流群:153708845 9 ?8 U' ^1 }, A4 |* g }" i
fmt = '%Y-%m-%d %H:%M:%S'
7 T, A2 o: o2 ]# t w/ }# K% t& D d1 = datetime.strptime('2020-01-01 17:31:22', fmt)
$ A' V0 ^9 d% _5 {% _9 T d2 = datetime.strptime('2020-01-03 17:31:22', fmt)+ i8 I) _: h: I4 Q. p
# h. S' _1 B9 Q& O( A6 a
days_diff = d2 - d1
_. x% ]* h1 s1 { print(days_diff.days * 24 * 60 * 60) # 172800
: i1 k" d- k: v( \% e ; q; ~9 V! u9 r7 y3 o
二十八、以这种格式获取昨天的日期MMDDYY
' ?* g: D' s; U+ i9 O from datetime import date, timedelta
" @5 S' @/ q7 Y# X1 s * @* X* z5 m2 q2 n
yesterday = date.today() - timedelta(days=1)
5 X) b1 l. K8 n; q8 _( I8 e. F print(yesterday.strftime('%m%d%y')) # 051421
: L1 A4 J4 V! W: J " T- h+ ]; R8 f0 f# k
二十九、根据今天的日期获取上周三的日期
. A5 F0 v& R# ~; ~% s( ?+ _ from datetime import date
2 K0 G2 i, i( o) x0 }) U from datetime import timedelta
! d" M; @/ V' G/ R8 }4 u 3 x+ x8 `. u+ U0 V( |
today = date.today() R3 b4 m- t) ]9 ?* c/ F) x/ d& \
" F* g$ A; \, }. L2 p/ F9 ~7 d
offset = (today.weekday() - 2) % 78 w# Y1 T5 B$ L/ c. V
wednesday = today - timedelta(days=offset)
! P+ O0 a+ W5 A/ y4 R9 K, [: ^ print(wednesday) # 2021-05-12) u d0 B% @$ z. {5 z
; Z# G0 _8 S3 S 三十、所有可用时区的列表打印
6 e+ j8 u6 G" n$ {+ A9 @- @ import pytz: q* ?- M, y+ i2 R' f3 B6 A
0 p. V( l2 l s. y8 k9 }5 F7 q2 G for i in pytz.all_timezones:
/ P1 @; P: Z* g) Y/ Q! R" X print(i)
$ k: w. F3 a/ A9 _4 l
1 t( t7 H/ w( r. V 9 ?. A0 W4 L0 @# v L/ }% @2 K+ A
& x$ A. E# Z/ V9 n# N# X+ E" ?: L
zan