标题: Python处理日期方法大全、三十种方法 [打印本页] 作者: 2744557306 时间: 2024-3-22 11:30 标题: Python处理日期方法大全、三十种方法 使用 time 模块展示当前日期和时间 6 e* U5 C/ i! ~) }import time ) ~' R7 `! w9 B1 ~from time import gmtime, strftime: j& j$ M: C- l( }
) ^5 p9 m# y/ t9 X: x6 m# U# F' P: Z
t = time.localtime() * k2 k0 H- g0 N% C% E
print (time.asctime(t)) # Sun May 7 09:30:37 2017 * B& Q. U8 T. j/ v* M! F7 Kprint(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())) # Sun, 07 May 2017 04:00:37 +0000 ; t. T4 R/ ~ [3 U8 @5 Y$ Oprint(strftime("%A", gmtime())) # Sunday , S. R/ w, _* W( Yprint(strftime("%D", gmtime())) # 05/07/17 * o, E3 R- g, O2 O! z: j$ Q" gprint(strftime("%B", gmtime())) # May # f- U a% Y+ n7 I8 z" sprint(strftime("%y", gmtime())) # 17 + R9 K6 c7 X' I7 @7 i- f C' H% I( v t# ]+ r. x# Convert seconds into GMT date5 E! k, |! s# I5 P7 Q
print(strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime(1234567890))) # Fri, 13 Feb 2009 23:31:30 +00003 r T- p# O& N. Y+ Z/ N
r( \1 C* M/ v. p$ R
二、将天、小时、分钟转换为秒 h) N) D: V- k+ s# {) x' G( cSECONDS_PER_MINUTE = 60 8 v4 s$ j8 L% h. H: rSECONDS_PER_HOUR = 3600, r* h! C/ c& H
SECONDS_PER_DAY = 86400 5 S( o. |$ D! U: n! X6 u5 P( _3 r% u
# 输入天、小时、分钟、秒的数量 , q3 D' X9 _* A% ~5 Hdays = int(input("Enter number of Days: ")) H, K) J& O9 ~2 W9 u- yhours = int(input("Enter number of Hours: "))5 j% F# B$ U |5 s
minutes = int(input("Enter number of Minutes: ")) $ ?9 A( ^) q9 B9 w8 U7 Lseconds = int(input("Enter number of Seconds: "))( f* I/ A$ M7 ?" }
* B3 r; [# B o# 计算 & A* I6 K X! Q+ O, Z: F0 Ytotal_seconds = days * SECONDS_PER_DAY 8 T0 z. X+ \9 E0 S+ f3 F5 t1 dtotal_seconds = total_seconds + ( hours * SECONDS_PER_HOUR)0 ]% t N3 t9 [( v
total_seconds = total_seconds + ( minutes * SECONDS_PER_MINUTE)- d2 ~. t1 P& Q6 T8 ^+ y) ^, m
total_seconds = total_seconds + seconds - Q& F2 F! g {6 H! x& w8 J3 @: X) J
# 结果& r# g0 M& S2 m% s9 {9 s
print("Total number of seconds: ","%d"%(total_seconds)) 2 P; d, S$ n; H& j$ P''' ) O7 \( Z' k7 T2 e) j9 Y/ O1 e% qEnter number of Days: 5 1 x; r: @% r7 s. L7 X& mEnter number of Hours: 36 8 M: s' w7 j' a0 HEnter number of Minutes: 24 }' l" F3 Z" S; u4 u, P( _
Enter number of Seconds: 15 5 }/ r N! B1 K& R: ATotal number of seconds: 563055 . d0 [: f& F: `- K- m( D' @) L'''. V0 L% G8 i8 ]
' c' s: y8 Z5 {
三、使用 Pandas 获取当前日期和时间 $ L t. X5 y1 k; K# mimport pandas as pd , F* b2 d) g! d2 I7 u- bprint(pd.datetime.now()) # 2018-01-19 16:08:28.393553% e! b* Q: w7 {- J" m* c; Z
print(pd.datetime.now().date()) # 2018-01-19 7 {8 T, H8 J7 w) z0 o& ^# fprint(pd.datetime.now().year) # 2018" h+ G1 R; `* @0 c2 Q. i
print(pd.datetime.now().month) # 1- z1 Q. Y9 U! w
print(pd.datetime.now().day) # 192 o+ `4 E$ C8 I/ V( L# E) \1 {
print(pd.datetime.now().hour) # 16 % i' t2 d7 v) l, y% a. Xprint(pd.datetime.now().minute) # 82 r6 w7 L z* l, i1 l
print(pd.datetime.now().second) # 28 ' {' G( H+ O" i3 hprint(pd.datetime.now().microsecond) # 394553/ Q$ @1 J6 a3 G, G6 ?; ~
0 m x3 n, _& C% p% Z四、将字符串转换为日期时间对象 . ?$ H, y. F9 \- M( efrom datetime import datetime) I$ l+ P* O& j6 B Y6 ^2 e; i
from dateutil import parser' ^" V" a) S9 t& d% e
$ R7 m, {/ }8 M+ l3 d1 W, Zd1 = "Jan 7 2015 1:15PM" $ O2 t* `9 `5 U7 k1 ]d2 = "2015 Jan 7 1:33PM" ' @. h2 D) d% G4 G2 k) O9 \! R% z: @* @& O# ^
# If you know date format! z& r& q/ L0 i0 d/ B& u
date1 = datetime.strptime(d1, '%b %d %Y %I:%M%p')6 S5 Y$ k0 O/ n J
print(type(date1)) # class 'datetime.datetime' , E P: D1 i" o0 S$ }' Pprint(date1) # 2015-01-07 13:15:00 0 m! x3 f+ E8 h) j9 f6 d* F/ H' d
# If you don't know date format ! c* z) b7 ^; w. Kdate2 = parser.parse(d2)6 z9 q* F' S+ y9 k) J
print(type(date2)) # class 'datetime.datetime' 7 x% A9 o9 e' L" q. M. d- ?print(date2) # 2015-01-07 13:33:00. \* C) T, ?$ G1 P
2 A5 H; @" m: S" p1 [' u
五、以毫秒为单位获取当前时间0 R5 f4 S. a( p* D
import time) \% v6 L3 c5 n3 d. T6 _1 q, e
6 Q5 a" |8 ]9 Rmilliseconds = int(round(time.time() * 1000)), A. t7 Y9 S% c& B; v9 q
print(milliseconds) # 1516364270650! C$ m: O' R4 J2 c6 [3 Z
6 N3 @. f4 M& ~2 k六、以 MST、EST、UTC、GMT 和 HST 获取当前日期时间 I5 j2 t1 _8 R* S/ j, Jfrom datetime import datetime4 a# H Q$ k$ R. t, F- J4 A
from pytz import timezone. n! R; D! X; e# b# t
6 Q" | o6 x% d, r- x) _' Gmst = timezone('MST')! I/ q! A" |" |& ]7 p4 H3 W4 h
print("Time in MST:", datetime.now(mst)) # Time in MST: 2017-01-19 06:06:14.495605-07:00 . {9 H( P8 r8 }est = timezone('EST'). c: }, k; O! W$ e, {% [
print("Time in EST:", datetime.now(est)) # Time in EST: 2017-01-19 08:06:14.496606-05:00- A9 O. D3 d B! M* @7 S5 B/ ?/ V# z
utc = timezone('UTC') $ O r! }0 Z; s$ pprint("Time in UTC:", datetime.now(utc)) # Time in UTC: 2017-01-19 13:06:14.496606+00:00 2 Z' Q% M( o' V) }$ d2 _8 h. Qgmt = timezone('GMT') 5 N/ Q( m# H6 m' q( ?print("Time in GMT:", datetime.now(gmt)) # Time in GMT: 2017-01-19 13:06:14.496606+00:00+ e3 b' t2 q1 p' U! ?! A. a
hst = timezone('HST')* p9 Y% z, _6 Y7 Q; ~
print("Time in HST:", datetime.now(hst)) # Time in HST: 2017-01-19 03:06:14.497606-10:00 ; g4 l7 N' F9 d' l1 O2 M; ~0 n6 [0 i- s7 }6 O. q4 ^- [, r
七、从给定的日期当中获取星期几 ( z2 }$ D: d5 z k- timport datetime 9 N+ y$ {: ^1 ~2 E S( ]. H) i: w$ n7 X- x% S
dayofweek = datetime.date(2010, 6, 16).strftime("%A") 7 R4 d4 s# q' B! E7 o5 S$ P( vprint(dayofweek) # Wednesday0 w/ K$ N! Y# w9 H2 S