# h# M1 g3 f, p4 g+ xd1 = "Jan 7 2015 1:15PM"9 k# h8 h2 Y# ~7 s9 [# Q E. n2 u8 t3 \* a
d2 = "2015 Jan 7 1:33PM" - \3 x/ [& K% `* E. J/ R% K) y' G& r8 V. D# ?0 b
# If you know date format, W. D) x2 U x5 R1 v
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p'), i P- `+ f1 I' h8 k
print(type(date1)) # class 'datetime.datetime' J) U2 l3 l6 [9 r& @print(date1) # 2015-01-07 13:15:00# T a P; p" q' A; n
+ B4 ?3 ~2 I. n* ]# If you don't know date format - H3 N% d0 \/ V- c! \' i! I( fdate2 = parser.parse(d2) : }# P9 r' P' F7 B- ?print(type(date2)) # class 'datetime.datetime'6 V: I5 F2 X* B0 U1 S( h+ u6 ~
print(date2) # 2015-01-07 13:33:00$ \: b2 ]) `. h7 j1 O9 e. I
2 p& @& b( x( \+ }
五、以毫秒为单位获取当前时间5 i$ |- ^. {3 b5 m4 S% @0 Z
import time6 {: w7 {; z9 U! U
" F( c7 K$ H/ ?8 P9 @
milliseconds = int(round(time.time() * 1000))" ]3 y" s( K$ u3 i
print(milliseconds) # 1516364270650# w* s8 L8 k$ p0 i
" V5 E! D* [; K* o( v, \! P' X6 ^# W
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间 ! c) \- ^8 Q1 Tfrom datetime import datetime 0 V# m( |9 u8 U; H3 z& ]0 Ofrom pytz import timezone, C% ?, i0 e/ Q
2 K5 h8 _" {# m- r5 T6 }- @mst = timezone('MST') 9 j- X1 v6 U- C# v* eprint("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:00 ( T9 ?% w. d' _! N& ~est = timezone('EST') 6 A* O/ _' J$ k, i+ W6 n! E) zprint("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:00) ? f0 P7 `: \% G$ w4 q0 v% ^
utc = timezone('UTC') S7 ]1 E, J. D8 l/ r& J Pprint("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00# P5 b; c1 _( m" p6 E
gmt = timezone('GMT')' n; s* E2 J" X) [2 p1 V
print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00 / C4 b2 P3 ^/ i, w' ^hst = timezone('HST') 8 O4 p; l y9 {% x' p; }, g9 n0 u% i% Cprint("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:006 _% O9 x' r2 ^* Q6 `3 P s
5 K" U6 L) ?5 |- [七、从给定的日期当中获取星期几! A/ \" |$ P# H* M3 A! ~* m
import datetime # @' {: _: v' A3 o' N, d2 V7 E# c6 |' G X D
dayofweek = datetime.date(2010, 6, 16).strftime("%A") # p% _/ p$ ^8 E5 sprint(dayofweek) # Wednesday # g3 P, q# I5 }- Y# N6 d; x V* |# _$ O! ]1 b1 b
# weekday()方法: 0代表周一,6代表周日' q m. p2 A1 t4 i% m. }; ^
print("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 2 " y" K$ D' `; k* j) S9 j5 r9 U9 f 0 o5 a/ S0 F( {* h. C3 d# }# isoweekday() 方法: 1代表周一,7代表周日/ u$ V( X+ J% u9 t! v% E
print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3 " J7 Q2 ~+ J/ Z6 B9 x t6 T( J8 u( I3 ] V% J o6 Z6 e
dayofweek = datetime.datetime.today().strftime("%A") 5 X) y; ~- p% Jprint(dayofweek) # Friday 2 W4 Z$ o" d4 F/ e3 p* a$ ?print("weekday():", datetime.datetime.today().weekday()) # weekday(): 4+ Y! y9 |; x# C( M; H$ Q
print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5 $ X' h* l0 O }4 E. x! d% n$ P4 G+ F P+ N) d& P0 J1 ^
八、计算两个日期时间对象之间的时差 ?2 |# _) l$ v. d# I- l1 Y! \import datetime! a2 m6 C! _' m; Z8 }/ y2 M3 R
from datetime import timedelta/ `# e5 i6 w# ^+ N$ j: f
9 }1 S% I: |0 l! P8 N+ O5 Y
datetimeFormat = '%Y-%m-%d %H:%M:%S.%f'4 W. Z5 j) b3 ~' t8 V% |
date1 = '2016-04-16 10:01:28.585' / _9 J, u' C. L0 rdate2 = '2016-03-10 09:56:28.067'$ l1 H, a" r5 v& @/ Q
diff = datetime.datetime.strptime(date1, datetimeFormat)\ 9 o1 n7 r# Z( Y6 I) E - datetime.datetime.strptime(date2, datetimeFormat) ' d4 | ?8 W6 _) Z . Y$ L0 t# n( {print("Difference:", diff) # Difference: 37 days, 0:05:00.518000 . }9 Q. V6 J( V0 B9 G+ k+ a; fprint("Days:", diff.days) # Days: 37( [1 w# n) I6 m j4 S
print("Microseconds:", diff.microseconds) # Microseconds: 518000* ]; s# ^0 g, ^1 H" m8 c- r
print("Seconds:", diff.seconds) # Seconds: 300 ! g$ o7 } H0 N: d$ S# `4 B( E7 M, q, `+ I0 a; K1 `
九、将 5 分钟添加到 Unix 时间戳 0 X- X: Y$ W& S) e4 z% f9 U' |import datetime 9 ~) o: q. O# i, m! Zimport calendar 9 Z2 X* B- F x' a' Y. c9 _: j# {+ P9 [( i& ~0 ?- C. q
future = datetime.datetime.utcnow() + datetime.timedelta(minutes=5) / L1 p4 @$ Z# `; {6 Cprint(calendar.timegm(future.timetuple())) # 1621069619 * O7 H4 n5 S3 h% e, y8 i: t3 P+ a( ^
十、遍历一系列日期7 D6 v4 F! C- @
import datetime ' x( q7 i( L& Q$ [* v: `5 G/ f! C/ b& _; V) q. E9 m
start = datetime.datetime.strptime("21-06-2020", "%d-%m-%Y"); O3 c; m0 N) p1 Z$ Z; a
end = datetime.datetime.strptime("05-07-2020", "%d-%m-%Y")5 D3 @. U. O$ a* K0 |
date_generated = [start + datetime.timedelta(days=x) for x in range(0, (end - start).days)] & A6 V C h. z0 k3 V, q+ v' P % k1 v! g8 g8 Y- Tfor date in date_generated: : |) h' W# @. t$ l4 @ print(date.strftime("%d-%m-%Y"))+ v5 C% `& M9 d, x1 k
* A( A' X% X5 y! J3 F十一、巴黎时间更改为纽约时间* E w7 k& j" Y g* g
import pendulum( a' q! b# H j* O/ B/ x8 `7 I