在线时间 482 小时 最后登录 2026-9-11 注册时间 2023-7-11 听众数 4 收听数 0 能力 0 分 体力 7951 点 威望 0 点 阅读权限 255 积分 2977 相册 0 日志 0 记录 0 帖子 1183 主题 1198 精华 0 分享 0 好友 1
该用户从未签到
使用 time 模块展示当前日期和时间
3 [$ L7 E$ D0 g import time; k, @4 {9 a) n
from time import gmtime, strftime
. s8 N0 P4 @6 N7 V$ W! U( w
/ R- N) ?5 T) W, ^4 E& o t = time.localtime()
: C6 _& D |+ U" b0 G print (time.asctime(t)) # Sun May 7 09:30:37 2017. y) F( K7 c' W" l
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000
0 m( B1 T4 ~, O print(strftime("%A", gmtime())) # Sunday4 b. U) o0 m- D: T2 o4 t
print(strftime("%D", gmtime())) # 05/07/174 o# j7 z* w2 q- p% r1 D4 H1 y
print(strftime("%B", gmtime())) # May* @& K+ r" k" v# z# x
print(strftime("%y", gmtime())) # 17
6 T$ f. h( y6 U% b- u0 E
& K; p2 i% S; e& z # Convert seconds into GMT date
7 y9 n; e& T, t6 E0 S3 P print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +0000
1 m7 k* u( K3 e1 g( c * _6 O D4 t V4 i
二、将天、小时、分钟转换为秒5 r; n- a& l5 a/ ?
SECONDS_PER_MINUTE = 60! {3 \& F$ N5 V+ R# U
SECONDS_PER_HOUR = 3600, _6 r8 X, B3 h8 h9 C0 Y* u2 o
SECONDS_PER_DAY = 864000 s4 U) h2 f, E6 h$ G: x
+ Q% v0 b! v4 C: | # 输入天、小时、分钟、秒的数量$ f% p8 N& D7 \% _% X
days = int(input("Enter number of Days: "))
! c8 Z+ ^( o# E2 ]; y7 b' g( o* R" B& U hours = int(input("Enter number of Hours: "))
+ N2 \( g% V. b: m+ y y minutes = int(input("Enter number of Minutes: "))
9 N& Q# a* S( Q+ Q9 F seconds = int(input("Enter number of Seconds: "))+ ? l- j9 `' x. ]( l* g" i
0 q- U& q C* j8 P # 计算+ |- G3 F L/ m0 o! Q
total_seconds = days * SECONDS_PER_DAY
2 J" Y5 y4 [/ h1 U total_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)
1 }; j" C0 l. K& y total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)
$ ] U; R% j. ]: A/ `: m$ N total_seconds = total_seconds + seconds
+ j" p7 \7 [9 Q% b) o / }& s6 G/ u) a) f7 D- H) V
# 结果( `$ ]' N9 e5 u" t7 Y7 K
print("Total number of seconds: ","%d"%(total_seconds))0 C% R2 g6 m( R
'''
! q7 }" W5 n* s/ z9 ]! _+ k! @- c Enter number of Days: 56 w/ V) c& C( l0 H6 O- k) s
Enter number of Hours: 36
' b& }; O7 n0 } Enter number of Minutes: 24
- a0 }/ I% J' U. ]( `8 d+ ? Enter number of Seconds: 15& c$ f" e: A2 Q
Total number of seconds: 563055
2 Z) S1 W1 O% E '''
6 E9 `( v* }2 D. X' g% Z, S
, y4 D D: ^$ { 三、使用 Pandas 获取当前日期和时间; R' M) V$ O F
import pandas as pd Z/ n6 ?" P$ `' \, b Z
print(pd.datetime.now()) # 2018-01-19 16:08:28.393553
6 Z. }8 \: t! U' p' i" l4 _" s print(pd.datetime.now().date()) # 2018-01-19
0 Q( M* E% W% v0 G8 T: \. \3 } print(pd.datetime.now().year) # 2018
1 r% p2 U, j6 G3 D2 [ print(pd.datetime.now().month) # 1
0 G6 A9 _$ f* J6 W6 b& y/ C# N print(pd.datetime.now().day) # 197 b( E: R% E* p: Y( q H2 m
print(pd.datetime.now().hour) # 16
5 ~) Y& k% @9 B: D U# H E+ y; A5 Z+ B print(pd.datetime.now().minute) # 8
* \; y S8 [/ `+ p6 r print(pd.datetime.now().second) # 28
' q' N5 y# } p print(pd.datetime.now().microsecond) # 394553
5 Z, d( |0 @% ^& M7 Z+ s8 N) L* M
$ Q6 l/ D" r0 e H 四、将字符串转换为日期时间对象* H) `' c `/ T% ?2 l. }2 P
from datetime import datetime
$ ]$ H8 q$ K2 k d5 e from dateutil import parser
+ u1 [2 q2 x" Y# B# [" u% b* V: l
4 l( c7 q/ F* i* R d1 = "Jan 7 2015 1:15PM"& _! c7 ?) Z4 J# [1 I; N- H
d2 = "2015 Jan 7 1:33PM"
3 U; c% [7 _: T' ?, @ ( }1 j" h% Y' R
# If you know date format7 x# N- g8 \9 o; ]; B
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')
0 q* ?! A2 ]$ @: y print(type(date1)) # class 'datetime.datetime': r; t" ?7 x% t+ l O
print(date1) # 2015-01-07 13:15:006 M9 k5 f# t4 I: E: S: K
( F. Z% k0 Y* a
# If you don't know date format1 [' ] j; I* Y B9 b
date2 = parser.parse(d2)
7 K! s* U, ]3 V0 j- ~1 B/ r& B& ^$ u print(type(date2)) # class 'datetime.datetime'% {9 y! ~5 r P; ~, ^
print(date2) # 2015-01-07 13:33:00
% m3 h9 ^0 m( H1 W6 h
1 e5 K" x( t M+ d# ~- ~ 五、以毫秒为单位获取当前时间
% B3 d$ {, `; c! M& A B* a import time, r9 I, Z3 J+ ~- n! c
2 a0 ]: M% ~' [( `$ T- l6 [ milliseconds = int(round(time.time() * 1000))
. N0 u( e: T! e& N1 q- N; w. ~ print(milliseconds) # 15163642706503 t: C2 j, _2 X! l7 G+ F
/ S8 d" y: X# V+ ~: p- f
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间
* S' M- M/ v& {7 m" Y from datetime import datetime1 m& P/ J& R2 ?4 D; M u* w
from pytz import timezone
8 F+ C+ u1 X+ U, B+ C , F7 O/ G) c# k: Q3 v
mst = timezone('MST')" g1 b6 [& M* a+ l; V+ C4 r
print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:00
. C- ?! a9 U2 r% g& y est = timezone('EST')
3 _- {. G8 A8 c# }! J% L7 t( n' |+ o- ] print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:006 C$ v3 }/ m0 G
utc = timezone('UTC')
; q; V2 I% ?2 l- h, ^ print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00
4 `6 b) \2 r' I0 r x7 M gmt = timezone('GMT')
4 `! m" Y$ s/ V& Z: y print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00/ A% ?- t9 T, l/ i$ `* F% [
hst = timezone('HST')
6 r9 O# i2 Y$ i& S print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00$ I2 F1 ]1 O; }$ S
' w% M1 j3 h& Z3 u 七、从给定的日期当中获取星期几8 @! l5 ?+ F7 N, {% ]" N
import datetime
5 C: q4 ]7 b- Q0 ^& h( p$ } 9 _+ B) L! [ }- N) j
dayofweek = datetime.date(2010, 6, 16).strftime("%A")2 @6 r1 T7 y7 W4 i1 V: y
print(dayofweek) # Wednesday
8 V* j; i% i" f W1 ]) v9 _, @; g
c8 [6 |3 |. c# j2 a1 U4 F # weekday()方法: 0代表周一,6代表周日( h$ U4 m8 x9 I! Y+ R9 {
print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 26 k7 j% b, ]6 s4 G/ f- u1 h
! j: f6 O7 i! }$ [7 G: |) R5 Z # isoweekday() 方法: 1代表周一,7代表周日
M: _& K+ @- L% M- @0 R print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3& p7 a. L# E/ m# \" ~- M( v" g
6 y6 ~. K: y8 | o) K/ Y
dayofweek = datetime.datetime.today().strftime("%A")# x- m9 ~; w* v# R7 w
print(dayofweek) # Friday( K$ x, l$ [6 Y
print("weekday():", datetime.datetime.today().weekday()) # weekday(): 4
) i0 Z: A8 n9 Z) v print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5
7 g- z9 G) _$ |: |) p9 R7 J/ V* U* z & c7 Y: k0 l7 q* K4 D. Y* W
八、计算两个日期时间对象之间的时差1 j! j3 Z+ |( C( @
import datetime* Y" A, G: |" b o0 V) U2 v5 U
from datetime import timedelta$ q# p; W: N; M, t- y) E
: w0 p$ W v/ P" A: w, Z3 p datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'
B& C* i$ B3 }) h; Z9 K5 Z( q date1 = '2016-04-16 10:01:28.585'1 W1 u" A% L6 `2 ^
date2 = '2016-03-10 09:56:28.067'
0 R# A- H: r! P0 g7 B# `" Y) Y diff = datetime.datetime.strptime(date1, datetimeFormat)\1 F- H- ]' I2 K) Y
- datetime.datetime.strptime(date2, datetimeFormat)" b+ N) e5 @/ |, Y7 y6 B( w( S: h$ T4 ^
) h3 f! k9 s2 [- \
print("Difference:", diff) # Difference: 37 days, 0:05:00.518000! A5 A. Y8 S4 S
print("Days:", diff.days) # Days: 373 r9 Z$ \. E5 P( B7 n% u( M
print("Microseconds:", diff.microseconds) # Microseconds: 518000
4 U* b* W: N( A, a print("Seconds:", diff.seconds) # Seconds: 300- _- p' b( G. g- w0 h: C
' o8 z1 g2 @2 c2 S. g" v7 t$ O
九、将 5 分钟添加到 Unix 时间戳6 x9 {9 y, W6 h/ Q u
import datetime
: q$ N9 E( E, v4 ]( K import calendar
3 Y1 l& \- s6 r3 w' M3 o) K2 f # k* n2 u- H5 F" x
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)- B: D; Y( o" D5 X( k
print(calendar.timegm(future.timetuple())) # 1621069619
2 I3 J' c8 i; L t
. h( u) l) k# g8 n; Y 十、遍历一系列日期* E( T( L: s9 v; F/ F& j# K
import datetime* F1 d, J) o/ D( Q9 @
[. Z3 J- d1 G6 ? start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")
7 X K0 i5 d; y end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
6 T+ i: \( Q$ M! S5 y& h! w/ K' l date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]
) t8 k9 H, i& N& s! Y; R : i& l9 k) @+ o& q
for date in date_generated:+ m2 z0 |3 A( m4 C
print(date.strftime("%d-%m-%Y"))
$ P; M8 d) p$ M z! l
8 M4 O1 s. g) W3 [. ~ w% G 十一、巴黎时间更改为纽约时间
' e1 [- G8 i$ b; d, O import pendulum
; _: i4 O3 o' v( B5 p" v / |3 \9 f8 [# ]; [: K6 I1 W
in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')( o6 \+ k2 V, r# Z
print(in_paris) # 2016-08-07T22:24:30+02:003 C, ]' f! o# n
" @% B4 v- e5 ^: ~9 s* j S4 o in_us = in_paris.in_timezone('America/New_York')
/ ? z r, z# D9 k% y7 ^6 j# r print(in_us) # 2016-08-07T16:24:30-04:00
4 j# L# p) ~2 c- B( [7 E% T 0 ^7 b" s7 T. z8 c; }8 W8 ~! y
十二、使用 Python 获得最后7个工作日8 ~* Y6 \, w" \2 X7 a/ O
from datetime import date
. D# p' N+ o2 p6 D from datetime import timedelta
& M6 L( x$ j" d5 g' z + l9 a- b# N, ~6 V
today = date.today()$ k; s+ r0 y; y9 O7 T2 ~% I0 c
; }0 u7 ]2 @- G& X6 X for i in range(7):
7 z1 S1 c! C. P; N d = today - timedelta(days=i)) ~$ e- i1 ]* B6 ~6 {* f
if d.weekday() < 5:
3 X3 P9 M. m; [& k print(d)' H/ ~* Y" E. ~8 G% V. k! i9 F
, T- E" G* }& ^$ a 十三、从今天的日期和一个人的生日推算年龄
. u: b* F* I& m' y from datetime import date
! h/ ]7 E4 b7 e; y$ z
m: Q w, f# c$ y M/ |5 G1 ~ / q6 n$ e) m8 X- P+ _ y4 u# n8 e
def calculate_age(born):
+ ]% @- k; C2 \ ^ today = date.today()
% R+ D) j# h! s9 |8 h try:- a O5 p3 i$ f* N
birthday = born.replace(year=today.year)% Y9 a! x, `7 u) o+ A! W& x9 C
except ValueError:
* \/ ]. O# h) Z {. | birthday = born.replace(year=today.year, month=born.month + 1, day=1)( Q# h: \+ T1 O% O8 \/ C$ t5 ` Y
if birthday > today:9 c1 [. j2 w9 v; W& ~
return today.year - born.year - 1
3 f/ z: M: f% U/ O else:+ M' ]% _. L+ s2 l' Z
return today.year - born.year5 x' C; E5 N) \3 }# @, e" f9 \' @
9 ~) C! k1 |# s2 { - W$ S' N6 U* b6 w f
print(calculate_age(date(2001, 3, 1)))
7 O7 X S- @0 q) m0 y
; s4 q. y6 _5 u1 r3 Y 十四、获得本月的第一个星期二
* S2 f; t4 C, N import calendar* p a1 i1 Z# s
from datetime import datetime
. E0 O; h g9 x7 f2 `; J 9 s) h; S7 T6 I
c = calendar.Calendar(firstweekday=calendar.SUNDAY)0 T! o9 g/ v, `' u4 I; P! o& c
monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
* X3 X+ i+ }5 a" `* Q #Python小白学习交流群:153708845
$ Z* t3 v4 |* S0 s! L' @ try:
5 h2 E& J3 v7 s+ ]7 ? tues = [day for week in monthcal for day in week if# m1 n$ G: O3 M5 g
day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
& _ _% X4 f7 M4 t print(tues)
! W! D# z) ?! H; C, Q except IndexError:
0 c8 Z$ D% p7 e; p8 z print('No date found')
3 L' B8 n5 Y8 y7 u 3 B) E0 R; b2 J0 E7 D: \# f1 t
十五、将整数转换为日期对象
/ D$ E" H- \, V, g2 Y from datetime import datetime
( R* z% E: z2 N# M. C6 t& I + g% E' x. @- y5 j% M* ~
i = 1545730073
+ h4 F- y: X2 R& `+ ?' Z timestamp = datetime.fromtimestamp(i)5 P0 |8 c. t2 L# J j6 x2 t
% ^5 a3 z8 b2 b0 `! [
print(timestamp) # 2018-12-25 14:57:530 k9 [8 u4 ?8 N: u% c B
print(type(timestamp))' Z! Y; g7 Y4 Y, m7 q( z
# b% A4 m5 k; h S# r& X; h/ ~1 a 十六、当前日期减去 N 天的天数
% c8 }! V5 M) q! M! Y* S from datetime import datetime, timedelta
& _! E# Z2 e' X8 I" Z
6 l6 F' G; i: I: n5 L+ t; M$ @/ M d = datetime.today() - timedelta(days=5)
, n4 `& [3 x6 x print(d)
9 ?% B& @7 ~5 d! O* P7 h) v* C- Z % ^7 z9 w1 R( E; k
十七、比较两个日期
% b( l. L' u& o. e- w import datetime1 I2 G9 g2 V" N
2 y0 w( @' t, G" ?
a = datetime.datetime(2020, 12, 31, 23, 59, 59)
# G" h3 {* S7 T& A. A+ I b = datetime.datetime(2020, 11, 30, 23, 59, 59)
4 k, d7 N; t; \ 7 i7 L5 v$ ?( w
print(a < b) s3 w5 g$ ?' }/ f4 X& {* v
print(a > b)3 p" W9 q- J2 x% T0 g
3 ~9 X( S# K, y% E3 ` {
十八、从 datetime 对象中提取年份 Y+ r: n% D/ W3 q! s1 U
import datetime
^* ]: @! @$ s4 j
: C7 ]/ C' h8 @7 E1 @& X: x/ ~ year = datetime.date.today().year
" t* m0 g) Y7 w( g4 n C# v print(year)
& x4 r: h! }, C7 q. M- @0 u4 k( L
, [6 j1 X0 ?& O8 W9 V [ 十九、根据日期找到星期几3 E' V0 p" j! c/ r( y) c8 w C4 |9 F
import pendulum7 {; q! @8 l1 }! f5 O
; A f' T$ B, A0 q5 V; M, L
dt = pendulum.parse('2021-05-18')
+ O. g0 q) U" M/ P4 h8 p print(dt.day_of_week) # 2
4 K6 K2 x: g3 r! [$ V 4 r; _' G4 q0 d% e* D* K, h: m
dt = pendulum.parse('2021-05-01')
/ Z% M, q! y# \% o2 J8 O# k% x0 S print(dt.day_of_week) # 6
5 ^1 z8 k6 F3 r8 Q& x7 G 1 D+ w. B$ i! u6 l3 E0 Y0 Y" V8 O o
dt = pendulum.parse('2021-05-21')" J+ w! |) [' m' b0 ^
print(dt.day_of_week) # 57 g- j- g# f |7 }% ? Q4 z
' A* Y) Z) _6 u( H/ P9 J2 o# h+ }
二十、从当前日期获取 7 天前的日期
* H8 y$ J1 W6 ]% d' y from datetime import datetime, timedelta
$ e' f+ f. \4 d9 T7 o- w6 k3 W# L% P X5 d z& n/ d) p# X
now = datetime.now()
1 J7 v- d7 E4 k O1 [
( X3 N/ e& k; K% k; F% ` for x in range(7):
. D1 Y0 m5 }( H d = now - timedelta(days=x)
; p' B5 [$ V: l3 y {4 b print(d.strftime("%Y-%m-%d"))
5 Z6 n1 }3 r& A+ n3 s( g( Z / I c: ^8 J# W/ o, o
二十一、将两个日期时间对象之间的差值转换为秒% Y/ s, Z7 F" N6 p
import datetime
6 u9 Z+ N0 |+ ^( x * |4 G K/ P$ l4 Z8 Q3 _: _
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')( v) H) E. c2 W6 ^/ `* v$ p
time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y'). G0 A8 l8 p: b% p$ `
/ o H' a( J! h4 s) t- O difference = time2 - time1! t; Y/ Z3 G6 i. ~4 b. R. p( e3 q
print(difference) # 6 days, 0:00:00: [1 o2 Z( x; ?! I# R5 q" B/ r
- ?, X/ q$ W- r! m6 k* [7 T. y seconds = difference.total_seconds()
5 S+ T* |# m+ l H( C3 ~. K print(seconds) # 518400.04 w8 L( ]: U9 w3 X8 U5 j& ]
% a0 M- I9 t8 V. O2 P2 [
二十二、获得任何一个月的第N个星期五
8 B% @9 r, @" o8 { ` import calendar
s. B! G& {/ v9 D1 H. \, J: Z
. y$ a6 ~% A6 F1 ~ # 取2021年5月的第三个星期五
9 x2 b5 S% D ^' _ c = calendar.Calendar(firstweekday=calendar.SUNDAY)8 F# @7 n7 w# o) s
year = 2021
% q- b% L; h4 t8 M9 H$ g) I) m: g9 b2 A month = 5! }; [0 k( S+ O0 _
n = 2 # 取第三个
4 q" u% g# B5 T9 M& [9 O monthcal = c.monthdatescalendar(year, month)
8 {: q: B# V9 R" Q
e: f: A, ^! ~0 `- ^$ T try:
+ J1 c9 P6 `7 p( j third_friday = [& o5 ?4 \: k& k, X
day for week in monthcal 8 T# i. d- {2 M+ b: C8 W
for day in week if' D" |& t/ n. J' T1 e v! X
day.weekday() == calendar.FRIDAY and day.month == month
& `8 M9 x5 Z$ n0 f" J5 [ ][n]+ {. _1 Q+ p. ]
print(third_friday) # 2021-05-210 z# Q. m( f! d! \. _0 y
except IndexError:
. |) L6 b! c3 i" O# A print('No date found')
8 S6 o& P& t4 V
2 z [" w4 m8 Z" v$ v. Q& P: K 二十三、根据周数获取日期1 u H" V3 m* k
import datetime3 P' e- I2 m. }: [1 d
from dateutil.relativedelta import relativedelta' l! ~2 p$ B$ v1 }; y( o8 h
8 y' Q7 e, q7 `) {& ^ week = 257 m/ m6 p& v5 }0 b+ r9 Q
year = 20218 `: H: M) u5 [: t( i8 S
date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)
8 B+ S( O9 j. l1 t8 }# G print(date) # 2021-06-25
4 _! Z4 `, @4 a5 I- [8 `. [$ K: c( L / \1 Y5 u) x$ c9 B
二十四、获取特定日期的工作日+ \! i* ?' X D {9 G4 X1 P# w0 Z
import datetime& Z6 u* i8 M: p6 C& G% G& S
: F, y' m+ p2 k" k# M' M0 U print(datetime.date(2020, 5, 15).isocalendar()[2]) # 5
% \+ n% Z9 O+ I% g' |7 X$ J5 O% V 8 X! C3 g) B5 i1 [ V0 h0 E
二十五、创建一个 15 分钟前的 DateTime
; q" r; t1 Q/ h import datetime
# s: i' T6 W0 c3 P7 _' M #Python小白学习交流群:153708845
6 D# F, B- H% f& t# e+ ? dt = datetime.datetime.now() - datetime.timedelta(minutes=15)9 [4 r F1 X$ Y3 m0 n& Z. ?
print(dt) # 2021-05-15 22:25:55.897365' d# M" U$ a6 F) _2 K7 C7 c2 Y3 z
% Y2 ?8 z3 o9 T$ d9 p7 s
二十六、从特定日期获取周的开始和结束日期
% N$ Q* P7 [! K% |- W! P import pendulum
/ F$ `3 {/ o8 p0 A5 ]" U
+ m: |# W( k, n( \ dt = pendulum.datetime(2012, 9, 5)9 D- s" ?4 H0 `( G2 q! d
# O+ z, Z* K0 X) F4 R4 |! o
start = dt.start_of('week')3 R4 x# S- J- y3 ]
print(start.to_datetime_string()) # 2012-09-03 00:00:00/ ?4 F) E) _4 S: }( [5 Y
) y* Y8 I5 A& G: ?
end = dt.end_of('week')* m$ [3 Q- ~$ C t7 e
print(end.to_datetime_string()) # 2012-09-09 23:59:59
# N- t1 j0 z p( v) `) T $ p/ M- N4 J7 ?5 H& C- A1 N% Q3 x
二十七、两个日期之间的差异(以秒为单位)
. t: G+ o, l* {/ s. g. p from datetime import datetime- g3 X5 m* [- @7 `4 H
#Python小白学习交流群:153708845
0 f8 L/ X$ S. x9 C7 m- ]6 _ fmt = '%Y-%m-%d %H:%M:%S'' D& w4 p& n2 {/ Z) ~
d1 = datetime.strptime('2020-01-01 17:31:22', fmt)4 Z: f- ^; t* _
d2 = datetime.strptime('2020-01-03 17:31:22', fmt)" n* I, B7 l- @1 ~+ t& V) F2 ]
2 F1 e u$ L* T% p4 w& F4 C5 {
days_diff = d2 - d1
, {" S% A; ^& l' I- D( ?6 @: G print(days_diff.days * 24 * 60 * 60) # 172800: j, M* D/ Y7 e4 X7 E2 P
6 O1 F d2 p1 o+ p P0 [- X 二十八、以这种格式获取昨天的日期MMDDYY0 @3 ~2 x2 u! {4 K; J$ g* m- v0 Q
from datetime import date, timedelta
2 y0 a( R! Y9 `9 }# H
' N3 s+ h" F+ |4 P( \ yesterday = date.today() - timedelta(days=1). F! L8 \/ u0 ]
print(yesterday.strftime('%m%d%y')) # 051421
5 J, {1 _5 h0 J * W& |. J R y q8 J1 ?
二十九、根据今天的日期获取上周三的日期* ?0 P$ n) w4 T
from datetime import date
* P- g1 ]& [, v' @; K; ^: o from datetime import timedelta8 v: K5 V' h( a: z
/ A* g1 A# }. X7 K! ^# w6 b: p9 T today = date.today()
. O6 v; I, G% c: m
# r5 k8 U+ f: O- O' W" a6 J offset = (today.weekday() - 2) % 7$ [& u# [5 Z% W0 }- b: D2 c
wednesday = today - timedelta(days=offset)! Y# L" o. _: \( P
print(wednesday) # 2021-05-12
2 W* M! `- c9 {. v9 G v
- t2 x0 X7 l! s$ k0 B0 `4 i 三十、所有可用时区的列表打印
- A/ [- G2 j3 X import pytz
6 y4 q: E! |1 q2 Z& P k ( U% z1 j' }( m' e5 {9 G
for i in pytz.all_timezones:+ g. a6 h) g4 a- ]2 k: C
print(i)
+ ^' Z( K2 V3 [. [9 d! J, c / t# o2 z8 ?0 ]7 v* S
, Q1 A" c! d: `: _ W
1 m* t1 U; p! A, K8 Y. A( h
zan