在线时间 475 小时 最后登录 2025-12-5 注册时间 2023-7-11 听众数 4 收听数 0 能力 0 分 体力 7747 点 威望 0 点 阅读权限 255 积分 2908 相册 0 日志 0 记录 0 帖子 1168 主题 1183 精华 0 分享 0 好友 1
该用户从未签到
使用 time 模块展示当前日期和时间2 \" N8 P9 }5 K, m7 Y0 ]
import time, [7 z1 j0 b: }" N9 i
from time import gmtime, strftime
7 @5 t( s6 S3 p! ~+ n & G! R& |$ S( a9 u- F$ F5 L
t = time.localtime()
7 H+ Q h, X3 O, [6 ^* n print (time.asctime(t)) # Sun May 7 09:30:37 2017
! \: o: {/ p# |) y2 v9 o/ g print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000 |- W" T7 c. J" R1 ?( v
print(strftime("%A", gmtime())) # Sunday5 |# I+ T$ U6 D
print(strftime("%D", gmtime())) # 05/07/17& F- J d* k7 ? D
print(strftime("%B", gmtime())) # May
8 [7 M. M e" E# g: Q1 Y! \ print(strftime("%y", gmtime())) # 17* Q$ D! _1 p u& P! q
& S8 d8 ~( O0 R9 y2 C5 D. @' V
# Convert seconds into GMT date
7 Y2 j l; t* M/ z print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +0000
! F& f+ q$ \- R+ W/ u( L$ w
% ^; I- s2 Q, G0 J+ |& m 二、将天、小时、分钟转换为秒/ s) @1 N0 t5 Z1 J3 ]
SECONDS_PER_MINUTE = 60
; Z( ~& V8 n& ]$ S SECONDS_PER_HOUR = 3600$ E& \. |+ w8 K$ a% }! l- \% r
SECONDS_PER_DAY = 86400
8 a( N3 @/ P7 x, a I8 L" Q! x( p+ S! @) v8 I
# 输入天、小时、分钟、秒的数量
9 r8 s0 {6 x/ Z7 ^( B days = int(input("Enter number of Days: "))! a7 B/ o3 o F- ?
hours = int(input("Enter number of Hours: "))& I' p1 C; z% B. F
minutes = int(input("Enter number of Minutes: "))
5 g3 i8 y" p5 U4 H& L seconds = int(input("Enter number of Seconds: "))
0 l$ \& E W# o' G4 f1 n
) `9 a; T) N( ]1 m& u. E( B # 计算
# ]9 ?- g; h+ T5 f total_seconds = days * SECONDS_PER_DAY; M$ ?! {* Y+ e# m" t3 R
total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)
5 Z' K1 F/ h2 h! X total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)) v0 Y+ K( s( y! Y5 {" f- Q4 o
total_seconds = total_seconds + seconds
6 T- G. z! o, R6 w% u5 ~: ^/ R
3 Y9 Y& ^& ]3 t! w. g$ f( e% u # 结果
! }: T& L: f& y print("Total number of seconds: ","%d"%(total_seconds))) _ U4 }. I5 w
'''* V' B* J) Z) f6 m' D
Enter number of Days: 5
# t+ r2 ^7 w: k3 {$ k4 j" G Enter number of Hours: 362 N) O$ P2 X2 J/ o q* O
Enter number of Minutes: 24
" A4 e0 R( h2 s; ~ Enter number of Seconds: 15
$ f% p( e( L9 W# A& n Total number of seconds: 563055
! S6 l; y9 g$ J0 u% Q; M '''& ]" T" Q! a" q7 o1 A
- R7 [" M; w6 c: A) t
三、使用 Pandas 获取当前日期和时间
: O; i& u" U! D. n import pandas as pd
# k1 ~* G* d6 \3 k print(pd.datetime.now()) # 2018-01-19 16:08:28.3935536 x( K; m4 U% Z7 B- T: r% h& I
print(pd.datetime.now().date()) # 2018-01-19+ Z! T+ \" J% v9 T* L7 k7 n h9 l
print(pd.datetime.now().year) # 2018$ F, A; B: G D5 n7 k M/ z
print(pd.datetime.now().month) # 1) o! t7 g6 {; C
print(pd.datetime.now().day) # 19
- Q, Y% J) q6 g) L$ P+ @ print(pd.datetime.now().hour) # 16
" A; B. B* C7 E; j9 R5 }% a b print(pd.datetime.now().minute) # 83 Q/ X7 b: T3 E4 Y
print(pd.datetime.now().second) # 28
) F& i( t6 y1 `' m7 y5 g8 \$ R print(pd.datetime.now().microsecond) # 394553
) i3 _! e: P' Q9 ? - k$ Z, @2 Q. n$ L0 ^( s K+ \1 s$ C
四、将字符串转换为日期时间对象
* U3 L$ Z* ^# J8 p w& V9 I from datetime import datetime& @! n3 c% b; h. V' X6 L% Q# D: {3 X
from dateutil import parser
# V, \' \' X6 p S
* A3 o, A. X+ a$ r9 w. R K3 d d1 = "Jan 7 2015 1:15PM"
: Z" d8 [9 f5 h d2 = "2015 Jan 7 1:33PM"
4 ]; j# P X7 j* V- o
' w, i9 ~5 N2 |# q$ q" e3 r # If you know date format
# R' E# J# t+ k4 d; J2 p; h date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')8 H" i" \5 w* }1 C' {/ d. |8 h+ \
print(type(date1)) # class 'datetime.datetime'
1 K. _. v7 ]" \" W: F print(date1) # 2015-01-07 13:15:00! Q- Q: u' \& `( H* K
. P) z h% H ~$ ~) T% ]( k # If you don't know date format! q7 G; @, n' l" Z3 Q+ O. T
date2 = parser.parse(d2)1 x9 F. ~1 D! t& C! S8 f2 q
print(type(date2)) # class 'datetime.datetime'
6 B; D% M: |+ U3 h8 k. N1 F) M+ B' d print(date2) # 2015-01-07 13:33:00; t( w7 Q8 f/ N5 y
6 z! E. G. `( `3 J. o, e: [0 j2 R4 }& F
五、以毫秒为单位获取当前时间2 c. y# l2 Q. g
import time
: X2 o: {% A3 g5 [+ S: M $ p: g1 ]0 C$ ?9 {" E" Y( L8 o
milliseconds = int(round(time.time() * 1000))# J+ C0 K) ?' F3 t9 P
print(milliseconds) # 1516364270650
6 u2 n6 a' ?/ A f# {7 k7 x
2 L) m% v5 w( a# } 六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间: K1 J$ \0 @$ U7 q4 ~
from datetime import datetime
' Q% M5 @" f# t- w9 K/ T from pytz import timezone
. H1 r' z0 N U J) u
+ j$ K4 e0 V4 T# ?- n2 u& b mst = timezone('MST')
( F6 ]7 f1 u8 v; A print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:00- Z. g7 @! I9 k- _
est = timezone('EST')
! o0 }. h- F- Z, k7 j/ e print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:00) T: n* c* d8 C. q3 ^
utc = timezone('UTC')3 a4 f4 o# j9 _. o5 e2 F9 ^# z
print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00
1 t7 I% X4 F5 j, r% R6 ?: F gmt = timezone('GMT')
3 L6 P' c% M1 t% y print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00
) R9 C/ `4 Z& o( p hst = timezone('HST')7 h/ w3 r9 i: |
print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00
$ \* I; p7 k7 g7 P, L3 [ " Y' Z6 s: H, A; L$ O5 W! ]' G
七、从给定的日期当中获取星期几* q3 l( B$ z. D$ s
import datetime
: S: w) U5 w' F1 P" r : B" F) q0 k- ^# l6 E
dayofweek = datetime.date(2010, 6, 16).strftime("%A")
% G/ j$ ~" t/ J$ g. e( L# B print(dayofweek) # Wednesday7 J0 K' [- I' G7 F% l' Q
# U% e1 r1 `9 c5 b
# weekday()方法: 0代表周一,6代表周日! M" [0 r5 \" [
print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 2
+ @5 J1 e4 g) M ! {2 k* o/ \" t; V# j( r7 d/ v- `1 P
# isoweekday() 方法: 1代表周一,7代表周日
$ O( B* J! E; f( e; N print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 36 T3 ]" F* R& W2 A3 _( I4 g7 v: q B
Q2 J8 R8 w9 {9 H0 D
dayofweek = datetime.datetime.today().strftime("%A")
/ F# q' [, w* c# l" G7 ] print(dayofweek) # Friday
. |. Y8 z+ E' [7 E- j print("weekday():", datetime.datetime.today().weekday()) # weekday(): 4
8 U, B. ]# _* Y0 R3 H print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5+ g8 G0 T. v H
& E6 q. E" d q2 ?+ D 八、计算两个日期时间对象之间的时差
% I2 x2 ?2 [' F+ c% r import datetime' C: g a+ B! w& `
from datetime import timedelta5 u5 v, L" V4 r9 E: D7 ?+ D! M
3 y# u9 b+ {+ e+ Q
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'# X/ e0 d1 `, ^
date1 = '2016-04-16 10:01:28.585'
+ F/ a7 t: ~* D: ~7 s2 Y7 o* S; r date2 = '2016-03-10 09:56:28.067'
1 \* r! E' a! ]! p1 N& V diff = datetime.datetime.strptime(date1, datetimeFormat)\
* r8 H) C: L/ L - datetime.datetime.strptime(date2, datetimeFormat)
) w5 l+ |; \# Q 4 x" U. p8 B( V5 e7 d& L! g
print("Difference:", diff) # Difference: 37 days, 0:05:00.5180008 k4 b# A0 l) x5 N
print("Days:", diff.days) # Days: 37: D9 E, T8 f' D" M. _5 X# K
print("Microseconds:", diff.microseconds) # Microseconds: 518000
1 l3 @8 M0 W& ?9 M1 e print("Seconds:", diff.seconds) # Seconds: 300
, Z" O% Q4 D7 N: L' Z9 [/ w0 b/ H$ y ; S4 U2 J$ r E- ~. A% K I
九、将 5 分钟添加到 Unix 时间戳
+ x+ Y/ z- Z) T7 C. e import datetime. `9 r `" C! }- E
import calendar
7 R! P. m/ _9 S : W4 K9 Y1 n6 T5 O
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)' J/ A* U3 R$ T5 _& R
print(calendar.timegm(future.timetuple())) # 1621069619. E: z( i k$ ?
( V* B7 J0 P5 _ 十、遍历一系列日期
+ E+ B# ^; N8 A' ]% t- N" L import datetime
! E( `- A/ n( N: H; ~' w1 o 4 }2 g2 [. w& y# g' e' z2 @
start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")
0 [! x. K2 u V! \+ u9 H% S/ V# B8 E$ L end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
: r( ?' |9 A0 }1 C' ~ date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]% v2 B' M4 e2 f( q5 [. O5 |5 F
* F4 Q1 K8 m- t$ s, A( H for date in date_generated:
6 g3 d, O/ j# X) q7 M; a2 {$ G print(date.strftime("%d-%m-%Y"))
* I4 T' c; r/ O- I9 P/ l4 O: i6 ?
/ g: s8 V. H9 d 十一、巴黎时间更改为纽约时间
/ X# R! B; { K) i import pendulum5 p8 r% G1 g1 l
8 k# E" e1 g5 Q% N9 Q0 ~
in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')2 }( W. b* ?+ H6 m3 p# p+ S
print(in_paris) # 2016-08-07T22:24:30+02:00
" _) H# {& x9 e) S' |1 J
8 f% v/ A0 r# k, @: a" j in_us = in_paris.in_timezone('America/New_York')
! b ? |) P: s' Z" D& q print(in_us) # 2016-08-07T16:24:30-04:00
. y; t7 V8 E" b' q! E ^ ( ~: B# G+ f: i0 R
十二、使用 Python 获得最后7个工作日/ g5 M% r0 g) u6 H: c5 e
from datetime import date9 B6 u; e1 X( C
from datetime import timedelta
! O x: U `5 l $ x5 q8 s8 M! {/ j
today = date.today()* @" J; R$ L: F% t# p! {
- h n) _" W0 l) m- c" P% z6 n2 P- | for i in range(7): l3 H" O& B8 Z5 e5 Z
d = today - timedelta(days=i)
3 A8 m$ F3 T# b, Q, E6 N if d.weekday() < 5:
- h- A9 h* H3 l! d& K' h; W5 x print(d)
+ {* X' O) k' |+ r7 e7 {- x5 X 6 {' ~& f* F' D0 {- p, S9 b
十三、从今天的日期和一个人的生日推算年龄
$ T% o, ]4 e9 s, a1 ~& V+ z6 V from datetime import date
1 w& f4 W' l8 b, n! p/ k
9 V' g/ w \ L' s$ t
1 i4 o$ k5 B% D7 \0 }0 A C def calculate_age(born):
5 J4 k) o% s; e4 m0 I( }+ r2 |3 u today = date.today()
5 S: p8 i; I8 S$ G1 w8 J8 s2 Q try:
4 k! H$ E+ L" Y0 x$ C birthday = born.replace(year=today.year)/ S( R- y* c# i Y0 w# Q: _3 E
except ValueError:* Y0 k$ G8 Q ~& @8 ?
birthday = born.replace(year=today.year, month=born.month + 1, day=1)' I' b2 Z$ O( g. d0 N! h
if birthday > today:
1 j, K- w" ~& i7 D! A9 r return today.year - born.year - 10 b; T9 E$ `% ]7 p, Z% Y
else:
+ I) Y( z9 D2 S; B" A9 c return today.year - born.year* g+ h+ R. k+ w" o8 W
$ {0 T% F+ g8 p J5 S$ d% B! b ) O/ j/ `3 ]* f
print(calculate_age(date(2001, 3, 1)))
7 `2 x* Y8 H" K
5 ]; ~% T5 u z- y3 @" { 十四、获得本月的第一个星期二
$ Y J+ n' C1 C9 M- l import calendar
! P6 n d8 V7 { from datetime import datetime
3 v6 `: P4 z8 T) O' x# z
5 g* x0 T- E4 e E. X9 I c = calendar.Calendar(firstweekday=calendar.SUNDAY)% l+ @" W! c( O3 f
monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
$ u3 P5 A3 B1 `2 I$ u #Python小白学习交流群:153708845 ( F' n4 B! {' J
try:
: {$ F0 [# b7 N5 U5 U, b tues = [day for week in monthcal for day in week if& k5 R5 d H. C2 t
day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
# b. @- _# k1 \/ v3 C8 c" @3 L print(tues)/ G& r- k: t2 Z) q# g! P- V
except IndexError:( a: ]; y0 K8 Q8 H+ b! B: c+ ], z
print('No date found'), L$ H% @9 ]1 z) h0 x' N8 E
) j3 M* f' p7 @% w( W 十五、将整数转换为日期对象: F7 {- o& f- V
from datetime import datetime
2 w5 p- `# L1 s
# k/ P l0 P s i = 1545730073
0 j/ E: L) O1 _ timestamp = datetime.fromtimestamp(i)
4 M# ~: ^9 y+ r' f Q- e" T
+ @& C3 D- N8 m% g1 t8 G4 S print(timestamp) # 2018-12-25 14:57:53
: |* _7 k1 q) K z( I b/ q print(type(timestamp))8 b- t/ j9 c# k# z. \- M
) T7 V( M8 a% {# g
十六、当前日期减去 N 天的天数# [& Q8 v- X3 a3 w$ t8 Q& O
from datetime import datetime, timedelta
- t& f% r: F% K ( o0 M0 N, s; X6 x8 {& y2 A
d = datetime.today() - timedelta(days=5)
1 z( T3 u# ^ g3 L2 _7 X print(d), n& O+ U/ s/ H8 j3 c
/ I: i6 ^" F5 C7 q5 L! D2 J7 G 十七、比较两个日期
2 k" c1 @; y% ?. n9 X import datetime
' R/ O5 y2 g+ M, i! l! g6 q 9 |$ j' y4 K; h$ O$ H# U* H( t( C
a = datetime.datetime(2020, 12, 31, 23, 59, 59)
) e8 W* n" B: C+ F b = datetime.datetime(2020, 11, 30, 23, 59, 59)( z# m# q' z, I' {
E* C& d3 i; L% ^+ z6 B# M print(a < b)1 y- ~2 K7 Y& s# A) w+ @
print(a > b)9 l- `4 O i7 r( P5 |* W: _
Z: [* F0 x1 T V6 J. h3 |6 J 十八、从 datetime 对象中提取年份/ w, @1 Z+ k9 E& \6 d, K
import datetime
Q- |0 v) l' H3 Z6 h$ {
/ w7 V3 S, ~9 l7 u( [6 y year = datetime.date.today().year9 v: ~' \4 q$ B
print(year)& |( x7 ?# n' U' ~
+ u, T" I( h+ D2 \3 E6 I 十九、根据日期找到星期几7 E' @& B# s( s
import pendulum3 f* H" w9 [% j# o9 Q, |
4 Y# _3 z( \3 P3 U" ]$ L, O. g' m- w
dt = pendulum.parse('2021-05-18')) ?# @: _5 ?1 F+ G( `5 u1 o
print(dt.day_of_week) # 2
/ m. Q% n* T, i8 }! b9 y8 u
8 W+ ~9 j* f/ R P: a. z# k dt = pendulum.parse('2021-05-01')
* ~( }' @& |5 H/ x% S2 W print(dt.day_of_week) # 6
& U$ Q6 c% I6 y
# m6 c# V& E: B dt = pendulum.parse('2021-05-21')6 o3 @4 D- |9 s5 K8 P
print(dt.day_of_week) # 51 d2 a, N# R* S1 @( e3 r. I
+ I& O$ a- M+ O! l: u
二十、从当前日期获取 7 天前的日期
' p: j4 A4 L+ S from datetime import datetime, timedelta- z& h2 \5 g+ t- m, \* [/ N
& Z0 m; C1 D/ c, S! o now = datetime.now()6 H7 F. ~ B! y* {, X2 y) J6 a! m$ Z1 I
2 I( I0 d% M; l+ w; H
for x in range(7):( x; h2 S, d3 {, C
d = now - timedelta(days=x). ^7 e7 k8 E" `* i$ u/ f& }+ W
print(d.strftime("%Y-%m-%d"))7 z. H+ _9 z+ E9 a! m
) ^: ?7 X" h% e. K4 v! | 二十一、将两个日期时间对象之间的差值转换为秒
; d( d: _; Y% ? import datetime: ]2 i! D% l, B( ~3 z+ a3 V
5 o) F* U; E: | time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')' }& L2 o; {6 x, q! D
time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')9 g& S7 ?4 ~5 y4 P
. d1 N3 u- l1 h# N- r& C. Z* C
difference = time2 - time1
$ m# R: U$ V+ o( H5 d: W1 X print(difference) # 6 days, 0:00:00
2 t/ Y. l1 o2 n : o2 l+ o, P- W) t6 W/ P. ^
seconds = difference.total_seconds()
" G- M/ \( N7 }" N. m' k; P/ |9 ^ print(seconds) # 518400.0
: u) n& ]( M" t6 z& y) d) S
( T% t9 P% b- j6 A 二十二、获得任何一个月的第N个星期五
% t* |& w0 X6 Z3 M import calendar4 X# [: i$ Y5 r1 ^- w' g' ]2 l. b
% x5 }- `* ~! N# C/ }, s3 C # 取2021年5月的第三个星期五/ q: b9 b3 C, \1 V6 b7 K0 L
c = calendar.Calendar(firstweekday=calendar.SUNDAY)
9 ~7 m. B# h8 u& W0 L year = 2021, I$ A2 r, T, Y, b) u9 Z7 ~
month = 51 V3 w" @; ~# u+ e, H1 ?
n = 2 # 取第三个
, b. q0 n" S% S: S# Y6 Q monthcal = c.monthdatescalendar(year, month)# u- g# q6 ?: l. p& d6 \
' w5 A7 p" P* f/ j7 O
try:' X% c1 \/ F. Q1 C0 @- z
third_friday = [
- \5 n( k& m7 i5 H3 o; d$ F day for week in monthcal " v( A }8 A9 g( s0 E, n! T! c( v) h
for day in week if0 Q5 H* M: {$ J) F' N
day.weekday() == calendar.FRIDAY and day.month == month
9 W- R W7 M! L, k% ? ][n]
; K1 P6 H" @ i E" m- K5 f print(third_friday) # 2021-05-21
; u* E; l0 ?" I& k( p except IndexError:6 v1 K4 e) u% A o6 Z$ w0 s
print('No date found')& i+ a+ T. [1 F. T2 L$ P& k
+ d. B* B. _' h( |; Z- w- ?; t# I 二十三、根据周数获取日期( U- H; u% y, u, p3 s' W3 S+ C
import datetime2 `2 ~0 E4 S& f H) }6 o3 n: p
from dateutil.relativedelta import relativedelta
& R: x- X1 Y8 j, a
3 t0 f: d7 F3 [3 ~1 {4 w9 p week = 257 f h( f/ _) P
year = 2021
# f3 l* ?$ Q7 w1 t8 R date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)
' n8 m$ L* N; c: Z. N; L print(date) # 2021-06-25
- E/ b7 b L8 N5 n d6 e - e" B5 s6 u$ V
二十四、获取特定日期的工作日
4 t7 s2 T9 y& L$ V9 D import datetime
( v i1 ~3 ?( H2 g# }6 z5 ^ . F* d6 C8 c3 M- @' l- S. X
print(datetime.date(2020, 5, 15).isocalendar()[2]) # 5/ E" g+ j# j; v
U( B# q9 n9 | V5 C+ `
二十五、创建一个 15 分钟前的 DateTime
# N0 q4 B9 J" f& i7 D import datetime
4 i- P) i) J2 }! r/ R' R #Python小白学习交流群:153708845
5 C3 d7 }$ U' j: b dt = datetime.datetime.now() - datetime.timedelta(minutes=15)
1 H) p4 f' S$ n. n$ d5 ^, Y* S# H print(dt) # 2021-05-15 22:25:55.8973650 _) r" \. p; q9 M& v. M. H
1 I" U# h& L' i$ U 二十六、从特定日期获取周的开始和结束日期+ P0 m* q+ Y1 N
import pendulum, E, d& X; h% X6 O$ l- C
+ c$ q1 L( P, Y' x$ T* H$ G dt = pendulum.datetime(2012, 9, 5)3 T* e( s9 I: B3 {( Z
* U- w; U( u2 m2 |$ o
start = dt.start_of('week')3 k3 u6 }$ f$ V4 J% {# B d
print(start.to_datetime_string()) # 2012-09-03 00:00:00
' u* h0 \$ I( s1 s# C* R3 B% m3 F
w7 Q) U \/ P. ]" J end = dt.end_of('week')
, S" X" s2 u# h, C' c+ b print(end.to_datetime_string()) # 2012-09-09 23:59:59( c; B. k9 q0 F; J
3 V* @' Z3 J) R; ]
二十七、两个日期之间的差异(以秒为单位)2 Q0 ^' r: q& B5 W9 E
from datetime import datetime
- C, j- c& U" p #Python小白学习交流群:153708845 4 J8 g7 g/ m4 J! A
fmt = '%Y-%m-%d %H:%M:%S'; N" @5 W; ~) I& ?) W& A" |
d1 = datetime.strptime('2020-01-01 17:31:22', fmt)
# S/ {+ {( [6 c! M1 F: w/ L# t* L9 g d2 = datetime.strptime('2020-01-03 17:31:22', fmt)
0 h1 T; e& H8 x' _* O$ W" m : q! n, d6 ~4 A& Y9 O! k
days_diff = d2 - d1
5 a2 o g* [" S5 e- Y4 @; W print(days_diff.days * 24 * 60 * 60) # 172800
* _9 a4 k" T- ]" \- {4 B6 I5 H" h 9 Y5 f) A, q4 \$ p+ |
二十八、以这种格式获取昨天的日期MMDDYY
# N, |$ i, T! a4 H/ l$ R from datetime import date, timedelta6 g, t" o( l1 Z+ Q9 N0 |) _: n' ~
8 B+ i/ N% E% s2 p
yesterday = date.today() - timedelta(days=1)' t/ W6 o' k0 g3 f# R5 k5 K7 |
print(yesterday.strftime('%m%d%y')) # 051421
5 W# N3 w1 A" ^" P9 p. G* m ( t6 J) \% Z) x# W+ w, b
二十九、根据今天的日期获取上周三的日期' h: t1 M* C ~. g& A4 F
from datetime import date
$ i8 ]) y" L l& C4 T* L from datetime import timedelta2 R0 _; e8 }+ d1 D( z
) V2 y0 l4 \3 n9 S+ O; t
today = date.today()+ Z# I' U- ]) a1 \" r$ `' J
5 H1 c) ]" U5 L2 \
offset = (today.weekday() - 2) % 7$ S. V) e! \" e' P. d- ]
wednesday = today - timedelta(days=offset)" E7 y: u: \; W0 B; B
print(wednesday) # 2021-05-12
) t8 I/ A7 ?2 q- f 0 v* Z; K' m' r% T# j/ Q
三十、所有可用时区的列表打印! P9 E: J( \. X
import pytz# C2 d& t! T0 m& n. ~' [
6 {# @8 [; Y& B+ U5 h8 X1 {
for i in pytz.all_timezones:
; i% W. R- v: h+ ~! c6 @* f print(i)9 H2 i3 G( ?: b1 f- r9 @5 I) j. Q9 ~
+ i4 ~! N- R4 g/ S; w : w8 G6 q. L3 v! u" ~8 C* U
" P/ v* C0 P0 ?# H
zan