QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2064|回复: 0
打印 上一主题 下一主题

Python处理日期方法大全、三十种方法

[复制链接]
字体大小: 正常 放大

1176

主题

4

听众

2888

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-22 11:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
使用 time 模块展示当前日期和时间1 t- D* j' E* J# A
import time
( `; }- i- A- Q: P# Lfrom time import gmtime, strftime: y* f% X# N+ d5 n: T

: _2 }( x5 \/ e9 H: ot = time.localtime()  
# m) k& d- D1 p: v) _print (time.asctime(t))  # Sun May 7 09:30:37 20170 S' s1 l) K2 ?2 D0 d1 S) G5 O; S
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()))  # Sun, 07 May 2017 04:00:37 +0000
: s# x4 t& P9 o) ]4 zprint(strftime("%A", gmtime()))  # Sunday
+ E% X% L' \2 y, gprint(strftime("%D", gmtime()))  # 05/07/17
2 N6 x& }+ E0 lprint(strftime("%B", gmtime()))  # May
1 b9 u- D) y) G7 Yprint(strftime("%y", gmtime()))  # 172 p8 O' d* c7 J; a" Z

9 v* U; F( |# i3 Y# Convert seconds into GMT date& J7 ?) x2 @4 r* j
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890)))  # Fri, 13 Feb 2009 23:31:30 +0000
! M/ A8 ~1 \( D' a3 {, S
1 ]& K; V6 W- b9 w& f7 J二、将天、小时、分钟转换为秒8 ~. s' H0 i& R3 J- W/ N  Z% D# L
SECONDS_PER_MINUTE = 605 [1 d- f8 i4 m& w' i$ J/ H0 b
SECONDS_PER_HOUR = 3600  {' Y1 v8 \+ Q) J0 ?
SECONDS_PER_DAY = 86400/ T5 V; `9 I) P* K9 \
* N+ K5 a* t9 S' j, A( m
# 输入天、小时、分钟、秒的数量
+ V9 T; s* q5 _  ]3 h4 \4 c7 B' vdays = int(input("Enter number of Days: "))
% G. O& }/ y* v* \1 Vhours = int(input("Enter number of Hours: "))+ I& g1 U3 z" s/ k+ [
minutes = int(input("Enter number of Minutes: "))
2 B9 y9 M# M  }" Q8 P" ~! Qseconds = int(input("Enter number of Seconds: "))
9 Y7 F/ k0 t' L! b; a* D8 }
- u' J# b& A* D2 V, `0 {/ L# 计算& U  g4 C8 x9 f& H. @/ d
total_seconds = days * SECONDS_PER_DAY
6 Z' Z/ A) C# j( o3 b+ w' a1 atotal_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)1 Q; D- |5 J. s  Z; z; e. r' L% }
total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)
* I# o( R1 ^1 r7 A- ^total_seconds = total_seconds + seconds  [% {, F2 ^! k2 w, h; v
& J; m2 Z, B: A; G
# 结果
+ c' I6 P% B5 w$ @/ Bprint("Total number of seconds: ","%d"%(total_seconds))* P' T( y. D& o6 r0 F
'''
+ D' A0 U# d3 H1 oEnter number of Days: 5
( p  p$ L6 i$ l* D- _9 ~Enter number of Hours: 36# i% W6 T  d$ c9 |& K6 m
Enter number of Minutes: 24
  ^2 a9 z* O2 _; U* O+ OEnter number of Seconds: 15
3 J; c; }$ Q; S# h& UTotal number of seconds: 5630551 E7 t( F  _9 d
'''' y1 r; q( A* x4 C' x3 D4 r4 t
7 D$ J' N' `6 H# i* p) O$ ^, t4 _# w; L
三、使用 Pandas 获取当前日期和时间
# O! F  u  T' V2 Q; |; t$ oimport pandas as pd
( w! X8 W  W! U7 r% T: eprint(pd.datetime.now())  # 2018-01-19 16:08:28.3935536 ^6 \- P; b: L9 ^
print(pd.datetime.now().date())  # 2018-01-19
* G) a0 ^- T* k4 v* Zprint(pd.datetime.now().year)  # 2018' K: w; [, {* y
print(pd.datetime.now().month)  # 1, _, U9 p+ C2 E  |7 v6 ~
print(pd.datetime.now().day)  # 199 n( L. H( b* x
print(pd.datetime.now().hour)  # 16
1 c/ k1 _0 ^0 D2 vprint(pd.datetime.now().minute)  # 8
2 T2 p8 R9 A; F! S4 L* Yprint(pd.datetime.now().second)  # 282 B+ O7 k% z" W1 n' |
print(pd.datetime.now().microsecond)  # 394553
$ @# _! D1 Q+ l, S* e/ V; H) d/ F+ I' H
四、将字符串转换为日期时间对象8 k3 u' H3 U  U( d2 m5 U. E
from datetime import datetime
  K' S! m- f6 L  sfrom dateutil import parser& L  o2 N9 r$ D0 j( z% B

7 u( k" Q: d8 v/ ?/ D. r" x! Q; Ld1 = "Jan 7 2015  1:15PM"
4 }' ~" [" ?8 v7 o+ n% C4 I# {d2 = "2015 Jan 7  1:33PM"
% k# Q  e" E0 n, A+ j
6 Y. u5 j1 ^' t# If you know date format
2 u' Q! y5 y, x5 Rdate1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')3 p& ]3 p& I8 g, H$ O. L4 u2 H
print(type(date1))  # class 'datetime.datetime'
: B/ m% ?7 X" k. ]print(date1)  # 2015-01-07 13:15:00
# y6 Z9 W! o# M' [
& @. J6 @; l- L( e: v# If you don't know date format
. t0 x. b' p, Wdate2 = parser.parse(d2)! F, z9 H3 j" W9 F( D  r# X& v
print(type(date2))  # class 'datetime.datetime'7 O  |1 k( K1 K( {, j( K9 g
print(date2)  # 2015-01-07 13:33:00) F; J! I6 t# V: [# Q
% f# Y7 ^! Z* Z. X$ a
五、以毫秒为单位获取当前时间
( F0 T& y+ T" c" A8 iimport time
. l2 W; P0 o$ z! q) v6 @* O6 W. A; h) b" ~+ Q" q; I4 @
milliseconds = int(round(time.time() * 1000))' D4 U+ \& n5 G4 n; b/ S
print(milliseconds)  # 1516364270650
9 }0 q, x9 z1 {" Z8 `/ P* J# P+ T6 S. n, L
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间
' s9 z$ O6 B& y. sfrom datetime import datetime* q. K' D7 g8 W
from pytz import timezone7 i: d0 L. V% `& N3 u, f. R1 G

6 g8 n3 s/ L- K; o6 h$ Z) i& T4 Fmst = timezone('MST')
6 E( L5 J  D$ Mprint("Time in MST:", datetime.now(mst))  # Time in MST: 2017-01-19 06:06:14.495605-07:00. k' o, d% X$ E8 ]! i! b
est = timezone('EST')
! l7 H* e9 @+ m: {% F' Xprint("Time in EST:", datetime.now(est))  # Time in EST: 2017-01-19 08:06:14.496606-05:00
' E+ G5 x3 J! Yutc = timezone('UTC'); B+ P6 P7 y$ Q  F  l5 n% d6 h3 K
print("Time in UTC:", datetime.now(utc))  # Time in UTC: 2017-01-19 13:06:14.496606+00:00! |* }! X: B9 w
gmt = timezone('GMT')
7 T! W- m% z) p1 B3 R2 H) T3 e" uprint("Time in GMT:", datetime.now(gmt))  # Time in GMT: 2017-01-19 13:06:14.496606+00:00
# b4 s5 }/ J8 ^hst = timezone('HST')
1 N: A: o- b; A/ Wprint("Time in HST:", datetime.now(hst))  # Time in HST: 2017-01-19 03:06:14.497606-10:00
. r' Z( Z8 G# V/ q( ~. P0 A
5 a. o% s4 `) t# q; c) C七、从给定的日期当中获取星期几) r. N  Z+ U7 u) ]9 B, k1 ^' e5 }
import datetime
/ U4 ]7 I7 B$ D2 O7 n" G! X2 D
dayofweek = datetime.date(2010, 6, 16).strftime("%A")
! `0 l  V* u4 d% xprint(dayofweek)  # Wednesday
7 Q/ g7 p( x. s3 C$ Z
( e/ v" I9 y$ H; P- a# weekday()方法: 0代表周一,6代表周日
% A& O+ `# U  D( f7 U/ Mprint("weekday():", datetime.date(2010, 6, 16).weekday())  # weekday(): 2, H( v: M" W7 z* t9 ?# c1 ~2 E- Y

- N" n3 }! l" I: H, T. Y1 g# isoweekday() 方法: 1代表周一,7代表周日% W" y; P6 z- Z
print("isoweekday()", datetime.date(2010, 6, 16).isoweekday())  # isoweekday() 3% D4 S8 V0 [& A2 h" b+ L
# Y7 n/ s$ W2 G4 G& x
dayofweek = datetime.datetime.today().strftime("%A")( M2 [3 w* V& y; X+ l- o- s
print(dayofweek)  # Friday
% R" S5 b% y6 `3 S3 Nprint("weekday():", datetime.datetime.today().weekday())  # weekday(): 4
9 k  {5 n8 E0 D% vprint("isoweekday()", datetime.datetime.today().isoweekday())  # isoweekday(): 5* j. \' c* _( w, h6 |- C! k- r
% c; h9 i, J: H# a! m' k
八、计算两个日期时间对象之间的时差
# g! O$ z6 g- eimport datetime: o+ ]) v) M4 ]% y  [- f
from datetime import timedelta
" q* e7 O' P) y4 [7 F2 I/ b6 J7 b' U& I5 ?8 F! n5 \& N
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'8 q8 M& G. @; O7 Z- ?7 E: S
date1 = '2016-04-16 10:01:28.585'+ X1 y* x$ w" @6 u+ @/ z9 G5 I
date2 = '2016-03-10 09:56:28.067'
& h; {& l2 h& ]* gdiff = datetime.datetime.strptime(date1, datetimeFormat)\* [- y2 q; Y* ?5 N+ ^
    - datetime.datetime.strptime(date2, datetimeFormat)
: f4 s/ S9 W4 T5 _& j4 ]  m& T( g
print("Difference:", diff)  # Difference: 37 days, 0:05:00.518000# v5 T+ u+ G2 l5 a2 ]; B' h  s+ Y
print("Days:", diff.days)  # Days: 37: r$ o* _$ k7 K8 G/ _0 H
print("Microseconds:", diff.microseconds)  # Microseconds: 518000$ k' j) q3 ]- V
print("Seconds:", diff.seconds)  # Seconds: 300' V* ^; J) n# E  N. L/ [

3 r, P5 I7 L# X" c- ]$ [九、将 5 分钟添加到 Unix 时间戳' F9 h& S6 b! x2 [' _8 {, @
import datetime( m  Q6 p3 e5 E& n  n- x  p* W# m
import calendar2 M/ H& o0 P. y

* x3 D) r4 n6 Z! A& ^/ p, O) N: vfuture = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)
. Z9 B2 \7 j3 x! \6 f: \# rprint(calendar.timegm(future.timetuple()))  # 16210696197 C' f+ w* I! z

& G5 |/ l0 F+ j' x# k9 B$ w1 W  z1 O十、遍历一系列日期- x% P! @, L. `
import datetime
. x& L( M; F% X/ E
; U3 O$ N& O" C: ?7 Fstart = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")% c7 z1 e; K! m2 l- l- }/ a+ j
end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
7 v; C1 U, _, t- idate_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]
4 [" c. \! e& X* P* T! F, r/ T* h; Z& M1 |" e9 i% X9 a* `
for date in date_generated:
6 E; Q5 l; {' e. k* ~! U. C& W" Y    print(date.strftime("%d-%m-%Y"))
4 A. y! p) y& x* Y( [* T
% _4 O7 b8 ~- T0 U8 i十一、巴黎时间更改为纽约时间
% e7 e6 n) G( m# p" v& g6 r0 jimport pendulum; W& Y: U9 \' x
4 {: a; [* J8 i) L
in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')
! l+ `! [* n9 u! _* V* b) z# Dprint(in_paris)  # 2016-08-07T22:24:30+02:00' F& ?/ k! ~+ @0 C
" O  R* Q" Y- K. B
in_us = in_paris.in_timezone('America/New_York')" ], H# F+ f& \
print(in_us)  # 2016-08-07T16:24:30-04:00- `7 J/ U8 I3 {$ J- a  h$ e

5 n: ]( _" b( D! P+ [* ]9 @十二、使用 Python 获得最后7个工作日
+ x# I( l. f0 i0 z- x0 g" wfrom datetime import date
0 b, x5 n, G- t! N# J& _from datetime import timedelta/ X0 R% f5 \: F) h" i
9 m5 N  j5 b  _" ^
today = date.today()& W* X/ D- n1 c
# @0 h/ K+ V  r- K7 B- ]" T& v" h7 e
for i in range(7):
( n& D& _6 x- b5 \( c- r* J& y    d = today - timedelta(days=i), i9 P. @. s- X5 d
    if d.weekday() < 5:
* U4 \1 @/ \2 J" j2 U$ c- B5 A/ a        print(d)  \  N5 _0 f  P

# p- H# ~4 c  ?十三、从今天的日期和一个人的生日推算年龄; n/ b4 u  l$ w5 E4 ~, i
from datetime import date
: y5 `: F( p9 q; Z3 ~# K
- d, a1 z9 `0 `. G# z- A, t! _. d! D3 f+ \, c
def calculate_age(born):
. |$ I; Q! @2 ^5 {% |7 i    today = date.today()
& e: K3 A9 Z, G# i% ?    try:
6 i( p9 p$ L6 Y$ B: C        birthday = born.replace(year=today.year)
& d) J( s8 d# m4 L8 O  b/ O& a    except ValueError:- f/ o' j5 h9 Q0 y" F
        birthday = born.replace(year=today.year, month=born.month + 1, day=1)
2 ^- w' }- P( }( h    if birthday > today:
) C3 X/ O+ i* H( n% S        return today.year - born.year - 1& x! J) w# a6 A7 V# b
    else:$ z, M/ R1 q1 o8 v* E8 Y2 w8 b
        return today.year - born.year
: v/ ~+ E2 m; t5 A# c* F- w
1 T) M1 i% u7 z9 B5 J3 [# l+ T9 t" b) f% ?- b
print(calculate_age(date(2001, 3, 1)))- t/ i1 [8 `7 j6 j

2 g: y' L8 i# q) g8 Y, z' X十四、获得本月的第一个星期二1 S8 u* d0 ^2 v3 e8 ?: b
import calendar
: ?1 N8 M! i9 hfrom datetime import datetime0 \% B/ z  v: q5 R# _

! U0 n. U* @+ `c = calendar.Calendar(firstweekday=calendar.SUNDAY)
- C0 ?5 v! k/ |- h. tmonthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
: R$ y7 G; W( _/ a#Python小白学习交流群:153708845    x  k+ L% A& K
try:7 S: O- f# L4 W+ k
    tues = [day for week in monthcal for day in week if
' S0 B& [2 G+ `2 {0 m: v9 t            day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]
$ ~9 L, q: j; P3 p; X2 C% o# z- X' q0 N    print(tues)
9 R) q) S5 w! F8 e" R* \except IndexError:/ v+ u. K9 q+ d; l- M6 h0 ]
    print('No date found')0 e) X6 b8 k  _

3 W: k2 L7 w0 I$ ?& [' t十五、将整数转换为日期对象' r) @4 o' l9 D7 s
from datetime import datetime
+ A% _9 Q: R4 U0 m5 ^7 }, I2 [
' w* M1 \3 Z" S0 O, `% E7 ^i = 15457300731 X: h( Q8 _  C. X4 d
timestamp = datetime.fromtimestamp(i)% h. }3 o- s) \& R5 D6 p

; [% V" N! ~; q9 `print(timestamp)  # 2018-12-25 14:57:53
0 F9 b; }- g! K) S& u3 F. B! ]4 Wprint(type(timestamp))& R1 C; X1 K& P: D# S

0 @9 b/ L  z8 o* h0 H十六、当前日期减去 N 天的天数. e4 G0 [3 o  s1 K+ K7 w
from datetime import datetime, timedelta( f3 U; E/ P/ N8 @

& P* |0 `$ h8 N6 w; Fd = datetime.today() - timedelta(days=5)6 I( g6 ?  q/ R% S* R
print(d)
" I5 n) u1 }; ?3 K. @) f4 C, c+ Y" _( o+ Y1 m" Q# Z+ k8 F) |* Z% f
十七、比较两个日期3 q1 y' }% d3 J. c) O
import datetime
3 T5 V* @; f' |$ G
. o9 V# w* z6 |. l! x; M7 P% M0 O3 \a = datetime.datetime(2020, 12, 31, 23, 59, 59)
5 b; {4 b0 G, I4 x: @1 Fb = datetime.datetime(2020, 11, 30, 23, 59, 59)
% `) B9 h/ W. V( |. h/ C! _3 C& ^2 }" Z0 H: c* ^
print(a < b)
4 _% M# V" d( T3 Z* jprint(a > b)% l+ R4 c  b4 U! `- z# n

5 @& z2 C. |* S3 X十八、从 datetime 对象中提取年份
. k) M* ?3 s2 N7 H# rimport datetime+ O' p1 B: V* X

5 p: |* M" v. ?6 P5 xyear = datetime.date.today().year9 z9 G3 g/ r1 w) o- G
print(year), q8 d5 ?* \3 F2 e6 ^+ G- j7 Q6 Z

( o% h3 z- O/ C1 \  q! O十九、根据日期找到星期几
. y/ o7 D3 `1 r2 m$ V  z- @8 Z! kimport pendulum
% Y& ~4 R+ Y# d: v7 ]) ?/ \1 [' ~- A7 I# t
dt = pendulum.parse('2021-05-18')
+ ?. w" f; m! n. Y4 Vprint(dt.day_of_week)  # 2) @+ V# M$ {& n' Q& P

; d7 Y1 \6 Q, t9 Y7 qdt = pendulum.parse('2021-05-01')
; H/ I/ w8 k( B+ P$ xprint(dt.day_of_week) # 6  ~8 B, l4 \2 \( s% l, J0 y7 V

. o5 C' T% J6 M! {, f$ {# tdt = pendulum.parse('2021-05-21')
3 u2 B' ~- l; ~print(dt.day_of_week) # 5; h& v! ?) s5 Z3 I9 Y
6 h7 M; R8 P( c$ L6 U
二十、从当前日期获取 7 天前的日期  B6 Z( I0 T8 N/ @, K, m! i
from datetime import datetime, timedelta& {! o' p( Z1 b0 T; H
9 }( A) `& ?( I5 K& G" q: f0 P
now = datetime.now()/ \! |) T6 k. Y/ U6 I$ T
. T* W$ Z$ S9 J! Z" h; K
for x in range(7):
. a: p, V' ^3 i- D- R; T- F    d = now - timedelta(days=x)
0 m9 J+ o4 D6 T7 _    print(d.strftime("%Y-%m-%d"))* R1 }+ c, `+ ?: ~" {0 `

3 }$ d4 M. j4 a+ U( ^& r二十一、将两个日期时间对象之间的差值转换为秒
6 e) h# @% b5 L/ g) W: A0 W0 Oimport datetime  Z) J5 `. |5 w# k

: C- _7 ~' h' Q" m: F& d, Ntime1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')
2 w$ J  h, j1 X+ ptime2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')
3 S+ y: T/ Z) b
7 r& ?1 S- C+ cdifference = time2 - time1
/ D' ^9 {  Y9 @0 T8 oprint(difference)  # 6 days, 0:00:00
) f- P& `: c8 J+ ?  ^7 b7 n# K- x
( y9 R2 F2 V: Useconds = difference.total_seconds()
, j# V3 p$ h/ p: dprint(seconds)  # 518400.0
; U7 Y# @6 L8 v; B4 i
$ q6 j" ?, h5 s" n二十二、获得任何一个月的第N个星期五
/ Q) G3 w) w7 C6 Aimport calendar
0 g  N# g. Y' Z# W* E+ K/ q" N6 s2 V% [/ a( x, `# I
# 取2021年5月的第三个星期五
7 A7 \9 s$ v% P* ?5 H- Z' K  oc = calendar.Calendar(firstweekday=calendar.SUNDAY)
7 U% p. H2 A7 }% h/ J4 x7 W* nyear = 2021; m, [+ F, N" l$ E- T6 ^
month = 5
. ?, d. \. P. T9 Bn = 2  # 取第三个
* ^. u: e" s. n) L0 ]monthcal = c.monthdatescalendar(year, month)9 E0 J" b: H. v; O3 U0 s% [
: K+ X& ^: s  k& |* T/ E
try:$ m3 O4 d/ M4 r6 Q
    third_friday = [
) W( G1 J0 i7 I, R        day for week in monthcal
! {$ i' s: K2 p$ I: d            for day in week if- N& L6 {# F8 Q
                day.weekday() == calendar.FRIDAY and day.month == month- k% B/ W7 R1 s8 l8 @  E3 s
    ][n]0 o4 k% o) d" E2 {# [
    print(third_friday)  # 2021-05-216 q6 S5 S/ t9 G3 X: I8 e5 @
except IndexError:3 o, d  o0 B' X7 Q
    print('No date found')
' K9 l2 [7 |7 o( m2 R! y8 J. J
1 a6 P/ t' s4 O! C2 t二十三、根据周数获取日期
2 r5 u7 m) A5 Z! \import datetime) C  z0 @( g/ q& f1 B; Q
from dateutil.relativedelta import relativedelta8 y' a  w8 `1 Y# Z5 }

8 T" P) H/ f! V) E- J2 c. |/ aweek = 25- v/ A" X/ i! ~! o
year = 2021
8 o, O9 Q+ D& ~! h* _5 }: n/ X. x3 zdate = datetime.date(year, 1, 1) + relativedelta(weeks=+week)1 P2 G! q" t7 }9 r* ~0 f
print(date)  # 2021-06-254 k/ ~0 `! i: q/ R  t& X$ S4 D

" P8 ~2 p+ F1 U5 J% i二十四、获取特定日期的工作日
6 W5 ^) ]; |0 fimport datetime
' |5 k- w/ |3 r) a8 m/ l: o3 A. ~4 n+ T/ b+ }' U
print(datetime.date(2020, 5, 15).isocalendar()[2])  # 5( `$ S! z5 g" F: Q" d
: P8 r4 B# N' O0 U1 ]' [
二十五、创建一个 15 分钟前的 DateTime& |7 h* T0 d; g- g1 _
import datetime# }2 `) S* c5 k) \- S) _1 B- q
#Python小白学习交流群:153708845  
7 [1 V. C+ t3 J* s3 F8 J9 Idt = datetime.datetime.now() - datetime.timedelta(minutes=15)
" s2 C! Q! a7 X) _  Q9 gprint(dt)  # 2021-05-15 22:25:55.897365+ Y0 U  Z2 M# e  N5 x
- B8 H( W7 {2 Z
二十六、从特定日期获取周的开始和结束日期5 k3 B2 ^4 H9 s- J& X7 E+ s) b" M
import pendulum
3 C7 M1 x8 V* k6 W  x: |9 M+ G  X0 q$ t% ]% m, E
dt = pendulum.datetime(2012, 9, 5)& E1 G" ~. _4 x
6 E7 Q( T/ I% C5 Z; W3 H8 R
start = dt.start_of('week')3 j0 b- f/ ?: X  c, E
print(start.to_datetime_string())  # 2012-09-03 00:00:00
* L: G  ~/ h1 f4 I- E0 E) {: m/ S" }6 p* y' j" M- ]+ b
end = dt.end_of('week')
5 _6 R9 Z7 a/ F0 X- Tprint(end.to_datetime_string())  # 2012-09-09 23:59:59( w9 D# k' O5 _2 `
; E2 D# E3 c0 C$ n- z3 @3 X: |4 ^
二十七、两个日期之间的差异(以秒为单位)
8 t6 C+ j' n) v! kfrom datetime import datetime
: I2 b' ?) ~6 @+ Z% C4 R#Python小白学习交流群:153708845 7 r$ @) i! A( q& E
fmt = '%Y-%m-%d %H:%M:%S'9 G. s# ?5 `7 m3 g1 S4 ]
d1 = datetime.strptime('2020-01-01 17:31:22', fmt)
, b/ G! _" l5 C+ r6 I. }! i/ |d2 = datetime.strptime('2020-01-03 17:31:22', fmt): b, }7 K/ \# ?2 `' {

( C- q5 D9 s4 X" a  X( bdays_diff = d2 - d1
0 a8 y3 Q8 _% Z' l" d' t2 Fprint(days_diff.days * 24 * 60 * 60)  # 1728004 N5 t4 y& ?+ U
6 s  S" u1 p0 R& h) _9 e6 A* T$ ?7 m; \
二十八、以这种格式获取昨天的日期MMDDYY
- t1 t3 r1 W6 O- |: Vfrom datetime import date, timedelta0 e8 c7 S8 R/ H+ }! a4 V2 ~# N" O

! P0 }  Q7 @% y; R2 j/ Iyesterday = date.today() - timedelta(days=1)5 C* q0 `) A  N
print(yesterday.strftime('%m%d%y'))  # 0514213 ~4 F' Y4 }7 j+ x7 \9 {4 n
3 j+ d" S& s  r( I( ]
二十九、根据今天的日期获取上周三的日期4 k$ J, K6 }5 I& A' G
from datetime import date
. x- y! a( D* t# j* ^5 yfrom datetime import timedelta
+ W3 ~: s3 d8 ~/ e% Q. k7 \2 o& y
7 n. c3 K/ N. I9 E4 R0 K9 |today = date.today()
, @- I( R! d2 x/ o1 X: ]/ |
$ L0 \. r: @1 O& P+ Ioffset = (today.weekday() - 2) % 7' S0 f/ ^1 V6 u- C% \/ x
wednesday = today - timedelta(days=offset)
& C# @0 q/ Z9 u9 }& Sprint(wednesday)  # 2021-05-12
4 T5 q, a/ ~1 X4 e# [+ H: a
6 \/ e2 m2 D* l- S三十、所有可用时区的列表打印
$ O2 i5 e% M' W( [  }. Y1 Pimport pytz% T. F/ i# o; u1 n

8 }  I9 A/ l9 b4 U( B" T& tfor i in pytz.all_timezones:
/ u; M$ X+ E5 b2 f- s* X    print(i)1 ]! |5 Z' _1 H' m* g" ^' j
. U  {* e* e7 |  ?; J) [$ B: _1 h
9 g' ~# ?, r$ z. B3 v$ Y

2 ]& ?9 m1 U) q/ D7 j
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-11-9 04:33 , Processed in 1.374144 second(s), 51 queries .

回顶部