QQ登录

只需要一步,快速开始

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

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

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

1171

主题

4

听众

2781

积分

该用户从未签到

跳转到指定楼层
1#
发表于 2024-3-22 11:30 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
使用 time 模块展示当前日期和时间
( X% P( _3 f0 himport time
% B3 q& Z3 G; X4 S. e- i. ^; }" Ffrom time import gmtime, strftime4 S$ X" J6 h8 U' c% ~

4 \7 Z+ G/ B/ ^" i9 wt = time.localtime()  
& s8 j2 |5 q5 L2 I1 R# ]: l0 hprint (time.asctime(t))  # Sun May 7 09:30:37 2017
; i/ j, K! v0 q: n% \3 \0 a2 [print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()))  # Sun, 07 May 2017 04:00:37 +0000  W; N0 J! r3 D& {' y& ?
print(strftime("%A", gmtime()))  # Sunday
, e, o4 N, F$ S" b0 }1 Y0 Kprint(strftime("%D", gmtime()))  # 05/07/176 Z' J5 d7 |( h2 w
print(strftime("%B", gmtime()))  # May8 ]9 Q9 n% v8 x* F. k, i/ o, D
print(strftime("%y", gmtime()))  # 17
: X+ Z" U$ _5 d* w9 t: |% [5 u
# p' }; [- ~: b# Convert seconds into GMT date
. z1 s4 B8 d5 O! B7 N+ e% Oprint(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890)))  # Fri, 13 Feb 2009 23:31:30 +0000
$ j4 q1 W$ E- M& ^- ?5 q' f! r8 X% G! z0 [
二、将天、小时、分钟转换为秒2 h4 c" f7 {* y, P! {# Y& {8 I
SECONDS_PER_MINUTE = 60+ D0 q: y6 T% v$ Z2 T
SECONDS_PER_HOUR = 36005 L0 O$ J% t( V; s3 d2 J* }$ i
SECONDS_PER_DAY = 86400+ y8 \2 r' U. e! d" e! i
" i9 ~0 u# I4 b& A, p) @2 n
# 输入天、小时、分钟、秒的数量3 ~$ z& ]2 f7 F# C! l  S
days = int(input("Enter number of Days: "))# R% l5 O( n5 R" N8 H$ X  V
hours = int(input("Enter number of Hours: "))5 V6 x' Z+ |1 s" V2 T6 h+ c
minutes = int(input("Enter number of Minutes: "))) E$ v7 T8 j% i2 Z, W, p- x4 d. y
seconds = int(input("Enter number of Seconds: "))- S$ r% s2 A, q4 o5 X: i$ F: }7 g

: V9 p* a, {1 R  m( R" j5 A# 计算, w6 m" `" K7 N" t, \4 `3 Q
total_seconds = days * SECONDS_PER_DAY
6 X) o5 M& u5 _4 d8 m% @* c6 atotal_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)+ h) m3 i# R/ A( z
total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)9 s* K: F6 t2 L6 v! l
total_seconds = total_seconds + seconds
: z# O7 m5 L7 Y; Q7 X" ~2 Z. M5 R: a2 F" K0 E# a( W
# 结果
/ G4 _3 ^1 p5 O) F- @, p$ \print("Total number of seconds: ","%d"%(total_seconds))
/ G, R( ~6 Z' R( Y! Z( `4 \0 O0 z''') V4 G6 n" s& u' t
Enter number of Days: 5
+ T9 v9 B1 q% J" ?# gEnter number of Hours: 36; n* S! M+ y2 b7 {9 H. L& e9 v
Enter number of Minutes: 24
" d: n, S3 j% i& F5 IEnter number of Seconds: 15
" k2 ~- b$ ^0 H: ~2 H5 R; JTotal number of seconds: 5630559 p" M- C# W' [! U. ~1 A! ^6 ]2 J
''': M6 X( j5 h2 ?5 N
% A1 x) h" t: m& r
三、使用 Pandas 获取当前日期和时间
8 }" S9 S# B! n- B& o( |) K: himport pandas as pd9 B9 M# r! k7 t  V+ w
print(pd.datetime.now())  # 2018-01-19 16:08:28.393553
6 X% T. Z$ ]6 k" R  q" }7 ~. y  ]; [print(pd.datetime.now().date())  # 2018-01-19; @; S4 ^" {; s' ~3 s6 g& ?* D
print(pd.datetime.now().year)  # 20181 \$ `4 `4 Z" a9 ^7 b
print(pd.datetime.now().month)  # 1; [' z1 l& ^( h+ i# H6 ^9 t$ H
print(pd.datetime.now().day)  # 19
9 O* D  q" Y" j. c2 nprint(pd.datetime.now().hour)  # 16
  P8 b' [+ ^+ P* C7 b6 Aprint(pd.datetime.now().minute)  # 8; M" X9 W/ N6 l: l; f( z2 z
print(pd.datetime.now().second)  # 28
- d( }6 X+ i! c5 `& Qprint(pd.datetime.now().microsecond)  # 394553
8 n* T6 F* c) \% j8 x' T2 g/ a
/ t8 q6 m( D, J* `* D. H& g四、将字符串转换为日期时间对象
! C3 U0 {$ O% Afrom datetime import datetime
+ ]& H5 [! X  f: W8 Lfrom dateutil import parser
" N" w& E1 Z& P. n0 F6 ~2 F* y; V" @" F. r0 }" O/ _9 ?; g+ Y6 R
d1 = "Jan 7 2015  1:15PM"
- |( U3 I7 r, k; g/ q' u2 q# ld2 = "2015 Jan 7  1:33PM"! P2 O; j0 a3 ~. `# Z0 l/ U
7 E0 j6 ]2 n( Q3 {3 b+ C# d
# If you know date format+ c( t8 {% j/ R& o7 f
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')
' Z) M7 z( |) i' Jprint(type(date1))  # class 'datetime.datetime'
5 i) z+ R: n( nprint(date1)  # 2015-01-07 13:15:00
, n- R$ F/ o' C
$ i( a, g4 M% o+ [6 X) Q8 F5 ]# If you don't know date format
7 v3 G* M6 F" O" l1 D) @date2 = parser.parse(d2)  p1 w! q2 B. O/ Y
print(type(date2))  # class 'datetime.datetime'  z& x* O/ f0 e0 v. B  L$ t1 p
print(date2)  # 2015-01-07 13:33:009 O4 p2 ?- c8 b  u- K: |* }

7 K% C4 c( F( G; O  ]五、以毫秒为单位获取当前时间. p% Y+ ]; [% e$ s
import time
+ x0 q( F6 ]+ p0 _' l$ G/ d0 G5 c1 U+ X/ ~* p  W
milliseconds = int(round(time.time() * 1000))' _0 c/ [/ A) ]3 r
print(milliseconds)  # 1516364270650
6 I" F7 U2 a7 |8 Q# J3 \3 A: }! m# K" P
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间& V6 v* M  R7 @' p; f
from datetime import datetime- O, c, b3 d% F  d0 r0 c6 j
from pytz import timezone/ D) [- u% J- B* x. m' {. R/ l9 F
+ D- W$ `( g5 N0 v0 L
mst = timezone('MST')) U4 h! Z' M0 Y7 z
print("Time in MST:", datetime.now(mst))  # Time in MST: 2017-01-19 06:06:14.495605-07:002 p5 X" c4 ]/ r2 M' n
est = timezone('EST')
; q7 B3 V5 H4 fprint("Time in EST:", datetime.now(est))  # Time in EST: 2017-01-19 08:06:14.496606-05:003 L* a, G5 k4 M% X7 V
utc = timezone('UTC')
; h' P& J* z$ t, d" P$ h; k2 s% Sprint("Time in UTC:", datetime.now(utc))  # Time in UTC: 2017-01-19 13:06:14.496606+00:00
+ D3 ^5 T3 F' ^7 v% c8 @( qgmt = timezone('GMT')7 K! K1 I+ v( B& k) \) q
print("Time in GMT:", datetime.now(gmt))  # Time in GMT: 2017-01-19 13:06:14.496606+00:00. M6 c9 H* s6 F1 Q8 m' N" b
hst = timezone('HST')
8 d3 n$ Q1 ^+ H/ r) W& }print("Time in HST:", datetime.now(hst))  # Time in HST: 2017-01-19 03:06:14.497606-10:00
2 B) _; f& R6 b6 T6 M6 ?1 s- d4 m; J5 s9 p% H, A0 A5 ^+ M3 x
七、从给定的日期当中获取星期几
: {" Z% p  v* ?: O& x' g9 Rimport datetime3 U! |4 ?4 h4 B2 ?" ~7 X; c

& W; T% P: @1 Zdayofweek = datetime.date(2010, 6, 16).strftime("%A")
- D/ v/ n. o# z( Aprint(dayofweek)  # Wednesday; }; s$ C! _8 C! R5 d9 v, X& p
6 k! W% o! Y$ Z2 S2 ~
# weekday()方法: 0代表周一,6代表周日6 f* y. M# G3 P
print("weekday():", datetime.date(2010, 6, 16).weekday())  # weekday(): 2" p- u) N! `8 V2 T
: W9 W- H" @) h- H( g6 E
# isoweekday() 方法: 1代表周一,7代表周日
8 J6 F$ w, j) S9 Z9 ]; ^& i  c- {print("isoweekday()", datetime.date(2010, 6, 16).isoweekday())  # isoweekday() 36 x. `% N. `; T0 j4 ~
. v+ ]/ p8 I) T1 x' k/ a4 @8 j
dayofweek = datetime.datetime.today().strftime("%A")
- `) ]* L: n5 pprint(dayofweek)  # Friday
) p* g: Z& T9 m$ E' tprint("weekday():", datetime.datetime.today().weekday())  # weekday(): 4; O$ D. ]' L. a) F0 ~
print("isoweekday()", datetime.datetime.today().isoweekday())  # isoweekday(): 5
7 w9 V$ \8 h. k% c/ P4 ^
; |- u3 i5 {( C- q. v  e' i' J八、计算两个日期时间对象之间的时差
! c: @, a1 U' e3 V& \" Oimport datetime) k7 Y) Q) W( r! Y1 r+ R- y5 D
from datetime import timedelta# T7 b" |8 D9 l# }  s! u
# _5 Z8 p; \; Q3 g# N
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'
6 d/ G! u: n/ u% @( A7 odate1 = '2016-04-16 10:01:28.585'
' t% M# k9 L+ K. edate2 = '2016-03-10 09:56:28.067'7 o; j( q% j4 W9 u+ d# x
diff = datetime.datetime.strptime(date1, datetimeFormat)\, L; X# f" R0 c5 H* R) @
    - datetime.datetime.strptime(date2, datetimeFormat)5 |3 U& {$ ^! ]; X, v! i( ~' I
+ Q* g/ p1 k% G0 y+ s# r
print("Difference:", diff)  # Difference: 37 days, 0:05:00.518000% v& h) E9 E' ]. S( o
print("Days:", diff.days)  # Days: 370 W' d' N; L  k2 U+ ?
print("Microseconds:", diff.microseconds)  # Microseconds: 518000
0 j& Z  H7 W6 o7 p& nprint("Seconds:", diff.seconds)  # Seconds: 300
# q' R7 ?; p/ w; B4 [# _/ n0 w/ V0 H* G& r' w! ^
九、将 5 分钟添加到 Unix 时间戳: r) L6 ^! F3 e  E6 q# V
import datetime
3 Z$ b7 b+ V5 M. Y) s. h* Y5 ]- _import calendar. U2 y6 n' r  _- O, r! a; G2 b. [
+ g9 N% d! C0 i# |8 U' W
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5)
! o3 j5 B, o! aprint(calendar.timegm(future.timetuple()))  # 16210696196 \& l9 T: P; {; z

9 K* t' M0 M0 L6 p. G7 j/ F+ A十、遍历一系列日期
, G* ^: S* e6 b. x0 q' Pimport datetime
- `9 r" U2 a0 M) w+ o& W! k. S7 A3 }6 B5 C0 ]  k
start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y")
/ g1 U% T! b- p5 G; Pend = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")
* {( v  l2 g2 B' q2 {1 q2 ]- udate_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)]
, e, ]; ?7 w, B2 r- H# j1 Q# A& z6 `& k" ^6 J  g* q: Q+ H8 X
for date in date_generated:
! U$ X3 m; @; R$ C! v3 r6 u3 A3 Z    print(date.strftime("%d-%m-%Y"))8 G  a5 @8 L* P& q" \, Y- r
8 C) ?! X; \- ?2 D1 q
十一、巴黎时间更改为纽约时间
. `/ J& I$ O: A9 u' B. limport pendulum
, i7 R! `! A4 B6 e6 ~- W* o/ z. R7 v9 v4 T8 Q" ~4 t6 d
in_paris = pendulum.datetime(2016, 8, 7, 22, 24, 30, tz='Europe/Paris')
7 C& r3 b. ~! S* _* f, U7 k' k8 P- b; u& L0 eprint(in_paris)  # 2016-08-07T22:24:30+02:007 j6 K3 e2 z4 i# b' s
/ E( \  J8 ^9 T6 B$ o( S/ \! N
in_us = in_paris.in_timezone('America/New_York')/ U7 \% X3 C( v- j$ q( W5 e3 K
print(in_us)  # 2016-08-07T16:24:30-04:009 W/ Z$ x/ ~  m2 B
& i4 f: Z5 k* z& \4 ~
十二、使用 Python 获得最后7个工作日
. K$ J: H# g# I/ b  O) Cfrom datetime import date
) o3 @( v# N/ {/ z. u. z7 rfrom datetime import timedelta
$ ?4 o& M0 S; e5 `% k* r9 l* [( ^" l3 I4 f% A. U. J
today = date.today()
) j% t- r% c1 j7 L2 l8 ?/ P& G( G
4 G* A$ N( k& R' Qfor i in range(7):: o: H/ I5 x7 Y. k  u5 F3 [
    d = today - timedelta(days=i)( ?  P* Y( p+ x
    if d.weekday() < 5:5 p. p0 i* [2 n2 F" V, o( X
        print(d)
  D/ P; t: g0 M& Z0 ?  z: O3 r" y
" U; Z- b1 F4 [( x十三、从今天的日期和一个人的生日推算年龄
0 y8 x6 n/ `  `1 a& `from datetime import date6 A* M. A% V$ L) S* U' |

! l9 y* j9 Z# T& W5 J
# J# x4 G! h  z* Cdef calculate_age(born):. ]* n2 |7 M/ N& U* A
    today = date.today()
+ \+ g; J) o: v: q' N6 S+ g" [    try:# F) \' N% e7 l  m7 S; H8 n
        birthday = born.replace(year=today.year)# R* f0 Z$ e4 `, r
    except ValueError:
: }' s/ ~4 j+ }        birthday = born.replace(year=today.year, month=born.month + 1, day=1)2 F" A; s, Q9 ?! O" L7 @3 ~
    if birthday > today:
2 ^: G$ d. \7 {* D$ o1 p0 e        return today.year - born.year - 1
2 W; n# E) ?# I  i9 K: V    else:
1 y7 D/ w- }/ p! `2 `& u        return today.year - born.year
- Z! V" v, O' A
3 R  Y1 E+ F% e' x* @7 C: @
" g3 k; a! u- b$ lprint(calculate_age(date(2001, 3, 1)))
3 ]1 S, Y9 ~& H0 J3 d$ k- s6 J0 w. D& `, m* q: T( |( Z& b
十四、获得本月的第一个星期二! z5 n. e9 J1 |4 ]5 v9 c3 P
import calendar
2 w' g8 w! m4 pfrom datetime import datetime3 r8 }% @& V- T, T) B! f- H* z5 z/ |/ a" N

# P; u, {4 s+ m! }! ?c = calendar.Calendar(firstweekday=calendar.SUNDAY); b2 E$ r0 ^1 d! U: d) e1 j9 p0 `
monthcal = c.monthdatescalendar(datetime.today().year, datetime.today().month)
5 f; K8 e1 G4 {* d: N5 W#Python小白学习交流群:153708845  
8 Q9 ]5 r& ^% Dtry:
0 c1 K3 g' d4 S' D' y8 C    tues = [day for week in monthcal for day in week if
, [6 l+ R4 I# t9 [1 Y8 H            day.weekday() == calendar.TUESDAY and day.month == datetime.today().month][0]8 r1 M# F. y2 J" ?/ x1 \8 A
    print(tues); R. t9 u( [4 x; ]0 o
except IndexError:/ t9 o+ j9 _( j' l* u
    print('No date found')
; `8 X" h5 A* ]7 X) e  l5 N8 ?# q; P
十五、将整数转换为日期对象
1 ^7 e( o2 r$ o; q0 n/ f9 c# o' ofrom datetime import datetime
" x, T9 h0 _4 z9 r$ ?: _$ y$ R4 i! K7 x
i = 15457300735 G+ Z6 E7 H; k/ F: @
timestamp = datetime.fromtimestamp(i)
7 a+ C# u+ K# m* W7 u  ~' W0 i3 H  O6 A
print(timestamp)  # 2018-12-25 14:57:53
: W  R. @: B1 X2 vprint(type(timestamp))
8 N, c7 M0 g1 v1 p  m2 G. B5 x4 z% \! K9 F- X2 a
十六、当前日期减去 N 天的天数
8 N8 o: J; q7 f* v- F% efrom datetime import datetime, timedelta
# `% N7 F9 V& r! s3 ]0 {( K. r! }' k& C7 x, A5 ]
d = datetime.today() - timedelta(days=5)# k+ \8 }6 f; I4 E/ o# [! F! x
print(d)# m; _2 [- k7 s5 P) O; N3 f

- W, M, f( ~( m6 M& Z$ V十七、比较两个日期; L$ d1 C! o/ d+ X
import datetime
. g# P! V3 F# k. Y8 ~. N. R3 P( w4 D- ]- z8 c7 x
a = datetime.datetime(2020, 12, 31, 23, 59, 59)3 `8 `3 i4 S) S5 C% ~* }- v) i
b = datetime.datetime(2020, 11, 30, 23, 59, 59)3 d: N" g3 X* k
7 U9 u; V$ C3 g" v4 N- x5 F2 o
print(a < b)
( D& O; L' l6 C+ w0 ]: Lprint(a > b)3 i8 Y$ @5 l& B
8 e  V6 ?0 S! l; {$ D% f
十八、从 datetime 对象中提取年份2 U1 p4 L" {) u3 n% r$ n
import datetime3 Y8 }' r+ q: w) t( E' |1 A& j
& f+ O3 I2 F3 r+ r. t: O" ?9 O
year = datetime.date.today().year
$ y+ E0 s. `+ F0 }print(year)
. P! Z* |# f0 W& S( a
1 D3 T! n$ e  c! E' @$ \十九、根据日期找到星期几
* E4 o0 g; V% g; Mimport pendulum
/ o  b) _' H+ o6 S  I" T1 X" y- k: U' v7 \* q, Q, ]+ v
dt = pendulum.parse('2021-05-18')
' w* j% M5 h2 ~: n0 K2 x/ S6 Bprint(dt.day_of_week)  # 2
. Z9 Z5 ~; |- x0 B: B3 w) }: L* t8 x* q8 e* G
dt = pendulum.parse('2021-05-01')2 k7 J) G4 U) r7 V: b4 B
print(dt.day_of_week) # 66 K! W$ d5 s& @( j, b3 G9 F+ G

# m' Q8 n9 A) W+ c4 u8 v9 S9 o/ Xdt = pendulum.parse('2021-05-21')
2 H' g8 L  N$ [; oprint(dt.day_of_week) # 5/ g7 `+ r6 p' U' }' G8 K+ }
1 I  Z) m9 x6 G5 c( \" Z( y
二十、从当前日期获取 7 天前的日期
' U$ ~5 C! T- n1 n  y: e$ Ofrom datetime import datetime, timedelta
1 S* k, `* I4 @0 b$ D, r) d1 F1 x+ ]$ h  U9 \4 g& H. I# x
now = datetime.now()# u) R8 L% S" M, n: h
' ?8 T9 A+ F+ C3 F
for x in range(7):# |6 m2 d1 k: V- Q* q  ^" w
    d = now - timedelta(days=x)2 z7 v& v  z$ Q. Y* }7 Q
    print(d.strftime("%Y-%m-%d"))) t  c. k2 H1 u/ E: t8 y; U& D& v( J

" ]+ i2 y1 e7 ~% H% _' \" {二十一、将两个日期时间对象之间的差值转换为秒* t7 S( l; G0 g9 J! E
import datetime
! s: t! e% }; M+ A4 I* O+ D4 p1 y5 u8 h* H
time1 = datetime.datetime.strptime('19 01 2021', '%d %m %Y')
' A5 P) [4 G2 q7 {time2 = datetime.datetime.strptime('25 01 2021', '%d %m %Y')6 \5 S8 w& y4 N" z' T; f/ g
% _1 W$ H8 c) c% T
difference = time2 - time18 S  @4 @+ T& w' e8 }/ o3 ?
print(difference)  # 6 days, 0:00:00( g) k7 F9 h! y, a& a5 n; f& |
0 S9 T" e' a$ g( U& }' f# S
seconds = difference.total_seconds()/ Y8 `. y4 N, F/ m' p
print(seconds)  # 518400.0
% C# o5 ]0 V* N; p" ]; G+ C# ^6 {, n6 Q, w6 p
二十二、获得任何一个月的第N个星期五, J6 X: ^- a" I* j* a7 J% T5 A
import calendar3 p: n& O* ~$ {% f. P
6 b8 \0 v: J8 F: g) Z
# 取2021年5月的第三个星期五
  W6 a, r/ Z6 f7 ]( dc = calendar.Calendar(firstweekday=calendar.SUNDAY)
* u9 r. |* j5 k, |year = 20212 o/ b) |5 C$ [
month = 5# ^' b( i7 k2 d; `$ [3 x. p
n = 2  # 取第三个6 m2 R5 c* M' t. Z' d9 @* S
monthcal = c.monthdatescalendar(year, month)) H6 x$ h& ~9 c/ b( D! ^5 E& a

# n  l# x6 c8 |' ]: c6 Ktry:
- d: c, Z/ X9 U6 Z: t: j( |    third_friday = [
, Q$ W" r4 Y. U6 h        day for week in monthcal ' g9 I, U5 f) N4 j" T0 M9 I
            for day in week if. W6 N2 y0 Y5 a
                day.weekday() == calendar.FRIDAY and day.month == month6 Q6 k5 z6 d" k( R. l# T) [/ q$ M9 p
    ][n]# v: ?' T# Q, P1 B2 z4 ~
    print(third_friday)  # 2021-05-210 m: P/ G: p8 ]5 D
except IndexError:& @+ w7 v" Q" k! t/ F6 k5 M! _
    print('No date found')
9 W  l0 n  c2 F! |& y. M2 ^
" e7 \1 O7 b1 l% j6 o- f二十三、根据周数获取日期2 ]5 ^$ g3 {0 |6 ^- {1 ?* x
import datetime0 j5 H2 L1 e! m5 f! k
from dateutil.relativedelta import relativedelta, @, L  _" S. W! h" I: x

( B# x  y  |9 f6 Yweek = 25
: u) M6 M4 t& |' Z0 v; e; dyear = 20216 v, t6 S! N  ~
date = datetime.date(year, 1, 1) + relativedelta(weeks=+week)$ ]( g# Q+ v; `$ z
print(date)  # 2021-06-256 f" G3 m  {1 M, ~8 F1 h

! l% y3 j( g8 {$ J二十四、获取特定日期的工作日
4 j7 w1 B4 o! J* X; N  simport datetime) l: w( r4 ]7 c5 u! V

/ d5 q, Q: E0 i! Pprint(datetime.date(2020, 5, 15).isocalendar()[2])  # 5( i% }9 }1 z9 q, P) ]
/ z& t* B  @6 x3 f8 |* c, B
二十五、创建一个 15 分钟前的 DateTime) i3 Z# @" P3 l5 w' f+ S
import datetime& P! Y" c( C; A
#Python小白学习交流群:153708845  
/ d4 `- S2 W& _) _dt = datetime.datetime.now() - datetime.timedelta(minutes=15)
- q0 x" S. q: g2 c6 G$ F% eprint(dt)  # 2021-05-15 22:25:55.897365% N; n$ E, [) P+ `- n6 L' ?( U
1 a' ~& B" k0 b8 C& ?9 m1 O$ f- X
二十六、从特定日期获取周的开始和结束日期
! x3 O: O0 O4 j4 [import pendulum
% Z8 o8 u) j9 l7 V& T6 \! F3 K. W0 ], u; \3 R# P) v) K
dt = pendulum.datetime(2012, 9, 5)
) p# h, o- l: H
) r! |+ X; |% B% o: K( g8 Ystart = dt.start_of('week')
9 |; }$ Z2 k+ ^8 G+ Q2 vprint(start.to_datetime_string())  # 2012-09-03 00:00:00
, u1 s0 x; j. g8 D, w. O2 P5 L
8 Q* L1 @% H2 n2 `end = dt.end_of('week')3 I( L2 e& l4 n2 r9 F1 t0 ]" ~
print(end.to_datetime_string())  # 2012-09-09 23:59:59
' g( g* \6 c% b' R8 Z
/ s. W# e3 x! {% T8 g0 O二十七、两个日期之间的差异(以秒为单位)0 U0 t4 `0 d+ ?) u9 L. s- d
from datetime import datetime
7 B' m! A% I7 _' y; K2 k* Q#Python小白学习交流群:153708845
2 l  m, j) y/ C. f' a! y# r+ |fmt = '%Y-%m-%d %H:%M:%S'
# ?* o7 b  ?6 p4 zd1 = datetime.strptime('2020-01-01 17:31:22', fmt)
2 h% G( O9 b1 e7 o4 kd2 = datetime.strptime('2020-01-03 17:31:22', fmt)5 r/ X" M1 S0 ]
/ J" E/ L/ d9 C! H+ r
days_diff = d2 - d16 r. U6 }/ b/ [2 T. J. h' }: ]* x0 h, \
print(days_diff.days * 24 * 60 * 60)  # 172800
7 F* L  I& M3 w- C- W2 v1 g: y8 e( Z; J, W* h
二十八、以这种格式获取昨天的日期MMDDYY
5 t# i6 Z- r# x7 dfrom datetime import date, timedelta
- b6 i" t3 u  X
& l" v- K( p. b4 D9 r) ]+ yyesterday = date.today() - timedelta(days=1)
) @6 X, l  {3 d6 M4 f& m9 Dprint(yesterday.strftime('%m%d%y'))  # 051421
1 U' {5 \0 C8 {8 z7 f, q$ R: o
- k7 T3 l# H- X% Z+ ]9 k* G( M9 k二十九、根据今天的日期获取上周三的日期" R  v2 n! s* x; @( @6 H. p
from datetime import date4 L& O+ d9 k. d" g
from datetime import timedelta
1 S2 D& o- z8 U, B* [! p  U1 w: Y4 ~4 y
today = date.today()) k- M! L, o7 S2 c

( k+ [+ e: Q2 |, L! q9 _0 H6 Roffset = (today.weekday() - 2) % 7  I( x! A4 J# L+ W- K
wednesday = today - timedelta(days=offset)6 M1 c2 I! U0 z+ M- l
print(wednesday)  # 2021-05-12" I8 f% r8 P$ O# x8 y2 D8 ]

' y' S% V' h- j3 t2 n三十、所有可用时区的列表打印; m; J) G( J4 V8 L; W
import pytz
2 G* j+ L0 N" e4 ^( B
4 {: ]2 y! F3 u. b9 Ufor i in pytz.all_timezones:& g8 Y; t' p8 i# s; Z/ }7 E
    print(i)
% X+ v, `( ^$ i! \1 u7 K2 t7 m4 G/ o# K5 C% @

0 e3 @( Q# H# a" h( V0 W
. K( i' a7 a; C6 f9 ]" P0 f
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-6-27 02:56 , Processed in 0.578023 second(s), 50 queries .

回顶部