使用 time 模块展示当前日期和时间) \ c/ O( d: Z6 w$ E
import time$ J( K5 x @5 g- }
from time import gmtime, strftime 5 x7 P" c' Y$ ~* U* k2 J- h% M; Y6 e- G& i! Y6 {) F
t = time.localtime() ! I+ p/ k6 C& x& Y! E
print (time.asctime(t)) # Sun May 7 09:30:37 2017" g6 J3 w/ X3 S7 F8 N* ?$ b- r
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000 % v2 a% y% J' c* W! {( q; w8 N# uprint(strftime("%A", gmtime())) # Sunday 6 I( |% e/ x. O: U1 pprint(strftime("%D", gmtime())) # 05/07/17* ]" _# L: @! { ?; e# v+ f. M3 i, I
print(strftime("%B", gmtime())) # May 1 G! a: V" K r. }1 P8 d( gprint(strftime("%y", gmtime())) # 17 ! _ e( ~* j' J" M9 ^% O 8 {+ A$ [& \3 `0 U7 ~ C# Convert seconds into GMT date 2 W5 j. \: D) |; ?' `/ Fprint(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +0000 ! k1 Z8 x8 K1 M* M2 q. Q# Q# H* A& _/ w* E; V8 W$ G w
二、将天、小时、分钟转换为秒6 q8 k9 M/ P. C9 m# h3 S! `4 z- \8 P
SECONDS_PER_MINUTE = 60 ( L$ v& r4 H) y1 vSECONDS_PER_HOUR = 3600 0 ~: n: D$ ? F- a, A7 ~SECONDS_PER_DAY = 86400* e) U6 E* g8 A9 l$ u. a. Y
2 T% `; N% T2 g6 ?) y H
# 输入天、小时、分钟、秒的数量0 N1 j7 V: b' k- O7 B8 j3 A
days = int(input("Enter number of Days: ")) 7 ~0 J ?8 N/ ohours = int(input("Enter number of Hours: ")) ; E* A) f: C _+ r6 t1 [ C* y; j' ominutes = int(input("Enter number of Minutes: ")), n. h) u- U* z% V6 j* y
seconds = int(input("Enter number of Seconds: ")) + _5 P5 e* ~. ^2 Z4 Z9 f1 i- Q( B5 @2 \* q( Z8 |" ~$ u
# 计算 - r0 P6 z& r- \$ Ztotal_seconds = days * SECONDS_PER_DAY . x; m" S. P$ D6 y& L; @. [+ n/ Jtotal_seconds = total_seconds + ( hours * SECONDS_PER_HOUR) 6 `7 R, x1 @9 [total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE) 1 }' M, u( |# w2 d8 ]% Ltotal_seconds = total_seconds + seconds% @5 V1 L: k. L# b
2 G, V- x& m! z) R, X# 结果 ) ?0 y. n) M5 z, \: Z% {+ c5 l/ I$ Yprint("Total number of seconds: ","%d"%(total_seconds)) 7 T# \, F8 @/ ['''2 `! r- w T l- [" T* o* h
Enter number of Days: 5; N' {) m. c7 X3 N8 a0 u
Enter number of Hours: 36+ X- n) q3 x, A: I6 D
Enter number of Minutes: 241 [+ ~1 `- [' p
Enter number of Seconds: 15 " b$ C" A% p$ T+ X. r+ h' lTotal number of seconds: 563055 7 F2 U7 V8 H9 b6 B''' - n" T) F, a3 B! @: }" M1 }' c' Y* M$ H: r! \$ p
三、使用 Pandas 获取当前日期和时间/ V9 V! Q+ `: t1 D) Q9 t
import pandas as pd % d ` W" U% Y/ E fprint(pd.datetime.now()) # 2018-01-19 16:08:28.3935539 V9 U0 u' ?. i" a2 D
print(pd.datetime.now().date()) # 2018-01-196 y9 o! W `( I% ]0 F* G4 P
print(pd.datetime.now().year) # 2018 4 Z. T9 k6 T) [! Tprint(pd.datetime.now().month) # 17 L8 L7 t' l- W
print(pd.datetime.now().day) # 19 f7 z- {! V+ R- }print(pd.datetime.now().hour) # 16 + H, S t3 t6 {# \+ yprint(pd.datetime.now().minute) # 8+ J/ {) C- M1 r4 r# _
print(pd.datetime.now().second) # 28 ; Q- g4 {- `1 m1 cprint(pd.datetime.now().microsecond) # 394553 6 e6 J( g" D5 v+ F3 H" F* v8 C* w7 N1 V) U& E" E
四、将字符串转换为日期时间对象0 m7 u4 }/ z! t I5 s4 h
from datetime import datetime " ~! E) Q7 o( ?! Z- sfrom dateutil import parser+ Q/ G& v. c+ k) V- @5 G
6 x4 n" J; Q) B0 d U% s
d1 = "Jan 7 2015 1:15PM"/ y9 H& l. m, i: o2 H& p2 I
d2 = "2015 Jan 7 1:33PM" 7 |! l" b& S a; z' r! ~5 @4 D8 V5 n: T8 p) q3 x
# If you know date format$ I( S! ~) V. f$ c% R, @6 M# w, j# h
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')$ A+ _4 m: D2 X3 r9 s
print(type(date1)) # class 'datetime.datetime': a% }/ _ M0 a
print(date1) # 2015-01-07 13:15:006 S. V* W5 t3 ]# |0 i8 M( ^
$ |6 B/ I Q6 o# If you don't know date format2 C" l; z: t! ^
date2 = parser.parse(d2)5 n, l1 \/ w/ V2 r) Y, C$ h
print(type(date2)) # class 'datetime.datetime'9 c/ k. Y9 H3 I, d" K* s
print(date2) # 2015-01-07 13:33:005 Z/ n" i9 T" [; c/ L, R
6 x- M+ p: U. h8 ^* I) @* G五、以毫秒为单位获取当前时间2 l5 F4 k3 t7 T5 N0 H, Z
import time4 g9 q9 B( x5 B/ u- r) W
1 L% g( O+ k3 b* L/ R1 r1 u
milliseconds = int(round(time.time() * 1000))) v' W4 N& T( H8 J( i
print(milliseconds) # 1516364270650 . n4 _* `/ Z' a3 |& {( J8 ^ k3 e- N" \7 ?: L7 H6 h( {
六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间 $ U' A, [0 J9 {; I4 Vfrom datetime import datetime }. I. f. m2 s5 z
from pytz import timezone6 n9 N$ I: [! W1 N0 e+ j9 G7 B4 I. e
3 A# H0 F- u. ^" u: [( }mst = timezone('MST') + B/ l1 c3 W7 \' A8 F* g. K- ?& Uprint("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:00+ B/ q/ @; M$ ]9 z
est = timezone('EST')& k" T: X' P" m9 P- ~4 I! s3 ^, d
print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:00/ ^2 `+ x, n g, C# z$ {2 ^
utc = timezone('UTC')2 W: E5 R" @% @) b9 D9 d( @
print("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00 8 A5 x" E6 i" s- [ D+ fgmt = timezone('GMT'). d* [7 Q/ I8 l6 v- G5 q& E$ W5 g
print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00 ) v8 [8 v& `, N+ phst = timezone('HST') x$ D( C$ ]- M _5 X
print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00$ B; O8 m% S* L
5 F9 U8 _" l/ {9 K七、从给定的日期当中获取星期几* o x8 ]4 H+ ?2 i) Z
import datetime ! {! W3 n" s6 } ?5 ?3 W3 Q s
dayofweek = datetime.date(2010, 6, 16).strftime("%A") & X. ^3 ^2 j! \7 A3 q, ?8 @print(dayofweek) # Wednesday 2 D \; Z5 C G) u; R a, l1 U: y4 R# [" C
# weekday()方法: 0代表周一,6代表周日 # p1 \" t& A/ \$ [# Y( Iprint("weekday():", datetime.date(2010, 6, 16).weekday()) # weekday(): 2 : w7 @+ k5 |' L, x/ F* @3 d3 W0 u6 F3 k" f; C/ s# a, G
# isoweekday() 方法: 1代表周一,7代表周日, ?* a' F, _0 W! T
print("isoweekday()", datetime.date(2010, 6, 16).isoweekday()) # isoweekday() 3 $ ~& a, E, R9 M7 K) _6 u; @5 }* v5 W q
dayofweek = datetime.datetime.today().strftime("%A")0 ]5 A- P0 T& n7 _
print(dayofweek) # Friday / a6 H- o2 \+ E5 \; Z8 o3 \1 u, Pprint("weekday():", datetime.datetime.today().weekday()) # weekday(): 4$ f6 u, w0 i6 {. B1 x
print("isoweekday()", datetime.datetime.today().isoweekday()) # isoweekday(): 5$ \( g: ]; H4 o) X. k6 m |
$ ^1 t* b9 O- g5 ^' |, k十六、当前日期减去 N 天的天数 # d3 ^. w p1 R, ?, C: Qfrom datetime import datetime, timedelta , c; {- J. e. J Y: ?4 i! Y cd = datetime.today() - timedelta(days=5) % q" X$ j: ]. iprint(d) 6 S& e5 ~2 w% B# Y1 v4 d5 p0 n2 P$ T7 x# C0 W- [7 x& e% o- e& w
十七、比较两个日期 6 D1 o- B& h6 N# e, F; p4 W8 s _import datetime0 d0 j( E9 M4 P$ Z7 i2 U7 f) j: k" ?
" ~; q8 }6 V2 v
a = datetime.datetime(2020, 12, 31, 23, 59, 59)0 m0 s- y9 D2 M3 ]1 X
b = datetime.datetime(2020, 11, 30, 23, 59, 59)& a! ^8 U) X# d" d
6 h: \8 u2 ~$ a4 @! S1 z
print(a < b) - {- l) v% x" C6 @( O% x0 n- D( ~print(a > b) : h. u2 b/ ?! [+ U3 M6 w' Q) O. J3 r
十八、从 datetime 对象中提取年份 $ A5 N0 ^2 g/ F, U$ Pimport datetime # |( A( C( r, m Q+ J , Q2 [* @3 q" H' [year = datetime.date.today().year+ h: @, X3 [" @% N! y6 N9 ~
print(year)& u- @+ U* G$ e- ?) v
+ B6 f& _1 v9 S- A) Y十九、根据日期找到星期几 9 v! H5 ]: {: l2 o8 U( @" ]import pendulum" ]* m' ^+ r1 Q, q" q8 f
. p% O6 I7 }( t0 m! E8 C# z
dt = pendulum.parse('2021-05-18') 3 U/ A4 E2 d4 F' Aprint(dt.day_of_week) # 20 ^ ~+ b+ p6 ?
! [3 O/ o( |" t
dt = pendulum.parse('2021-05-01') 6 \+ t7 h* u8 k8 a3 a7 iprint(dt.day_of_week) # 6 4 q/ N& S8 g/ T ' |. h5 Q0 A4 _( I6 v: p( o# cdt = pendulum.parse('2021-05-21')' x& D8 i3 N9 ~' q
print(dt.day_of_week) # 58 U8 S# j' y" E w0 J5 j
v( |. m+ n' r4 Z: O% b
二十、从当前日期获取 7 天前的日期/ c5 u0 c% M8 I
from datetime import datetime, timedelta0 r. O- P n- a! j- _
7 p* J7 i1 N; }! @
now = datetime.now()# C1 l& k# S9 ?$ c: _. @2 H
% s; h9 \% K( P, e+ wfor x in range(7):1 _2 f, y# N7 H2 L" u# b0 v
d = now - timedelta(days=x)! v! ^0 y$ r. N) a3 f
print(d.strftime("%Y-%m-%d"))" `' w7 |* z0 d: _; x
3 d h6 L s3 X二十一、将两个日期时间对象之间的差值转换为秒 0 w" ]: Q0 m! D8 D ~import datetime% ^; j; m( r, v( [1 V1 T