Python常用日期函式日期增減日期格式化

2021-08-31 22:34:57 字數 3563 閱讀 4112

匯入必須用到的乙個module

>>> import time

設定乙個時間的格式,下面會用到

>>>isotimeformat=』%y-%m-%d %x』

看一下當前的時間,和其他很多語言相似這是從epoch(1970 年 1 月 1 日 00:00:00)開始到當前的秒數。

>>> time.time()

1180759620.859

上面的看不懂,換個格式來看看

>>> time.localtime()

(2007, 6, 2, 12, 47, 7, 5, 153, 0)

localtime返回tuple格式的時間,有乙個和它類似的函式叫gmtime(),2個函式的差別是時區,gmtime()返回的是0時區的值,localtime返回的是當前時區的值。

>>> time.strftime( isotimeformat, time.localtime() )

『2007-06-02 12:54:29′

用上我們的時間格式定義了,使用strftime對時間做乙個轉換,如果取現在的時間,time.localtime() 可以不用。

>>> time.strftime( isotimeformat, time.localtime( time.time() ) )

『2007-06-02 12:54:31′

>>> time.strftime( isotimeformat, time.gmtime( time.time() ) )

『2007-06-02 04:55:02′

上面展示了gmtime和localtime的區別。

檢視時區用

>>> time.timezone

-28800

上面的值是乙個秒值,是當前時區和0時區相差的描述,-28800=-8*3600,即為東八區。

python日期/時間操作方法使用

0. 模組:

import os, sys

import time, datetime

1. 得到當前時間

(1) based on time module:

import os, sys, time, datetime

starttime = time.localtime()

注意這裡: starttime

(2) based on datetime module:

import os, sys, time, datetime

nowtime = datetime.datetime.now()

type(nowtime)

2. 日期轉字串:

(1) str(xx)

(2) time提供的函式:

time.strftime([format], time)

strstarttime = time.strftime(『%y-%m-%d %h:%m:%s』, starttime)

『2009-06-03 13:44:51′

3. 字串轉日期:

(1) 字串轉time:

d = time.strptime(strstarttime, 『%y-%m-%d %h:%m:%s』)

(2009, 6, 3, 13, 44, 51, 2, 154, -1)

type(d)

(2) 字串轉datetime

datetime的好處是可以實現方便的時間運算,比如 endtime – startime,這在時間duration計算時非常方便.

# convert string start time and end time to datetime.datetime

starttime = datetime.datetime(tmpstarttime[0], tmpstarttime[1], tmpstarttime[2], tmpstarttime[3], tmpstarttime[4], tmpstarttime[5] );

基於上面的轉換.

time.strftime(…)

strftime(format[, tuple]) -> string

將指定的struct_time(預設為當前時間),根據指定的格式化字串輸出

python中時間日期格式化符號:

%y 兩位數的年份表示(00-99)

%y 四位數的年份表示(000-9999)

%m 月份(01-12)

%d 月內中的一天(0-31)

%h 24小時制小時數(0-23)

%i 12小時制小時數(01-12)

%m 分鐘數(00=59)

%s 秒(00-59)

%a 本地簡化星期名稱

%a 本地完整星期名稱

%b 本地簡化的月份名稱

%b 本地完整的月份名稱

%c 本地相應的日期表示和時間表示

%j 年內的一天(001-366)

%p 本地a.m.或p.m.的等價符

%u 一年中的星期數(00-53)星期天為星期的開始

%w 星期(0-6),星期天為星期的開始

%w 一年中的星期數(00-53)星期一為星期的開始

%x 本地相應的日期表示

%x 本地相應的時間表示

%z 當前時區的名稱

%% %號本身

例: time.strftime(』%y%m%d%h%m%s』)

列印:20090805092348

幾個簡單的函式

def isostring2time(s):

'''convert a iso format time to second

from:2006-04-12 16:46:40 to:23123123

把乙個時間轉化為秒

'''return time.strptime(s, isotimeformat)

def time2isostring(s):

'''convert second to a iso format time

from: 23123123 to: 2006-04-12 16:46:40

把給定的秒轉化為定義的格式

'''return time.strftime(isotimeformat, time.localtime(float(s)))

def dateplustime(d, t):

'''d=2006-04-12 16:46:40

t=2小時

return 2006-04-12 18:46:40

計算乙個日期相差多少秒的日期,time2sec是另外乙個函式,可以處理,3天,13分鐘,10小時等字串,回頭再來寫這個,需要結合正規表示式。

'''return time2isostring(time.mktime(isostring2time(d))+time2sec(t))

def datemindate(d1, d2):

'''minus to iso format date,return seconds

計算2個時間相差多少秒

'''d1=isostring2time(d1)

d2=isostring2time(d2)

return time.mktime(d1)-time.mktime(d2)

常用函式 日期函式

對日期的處理,一般在有日期限制的共享 商業軟體中經常使用到。如果你打算編寫一款有日期限制的軟體,熟悉使用下面的函式即可以實現。1.date 功能說明 返回當前的日期。procedure tform1.button1click sender tobject begin label1.caption 今...

oracle 日期常用函式 日期運算

oracle 日期常用函式 日期運算 1日期運算 23 1.更改日期顯示的format 4ex.5alter session setnls date format yyyy mm dd 6階段作業已被更改 78 select sysdate from dual 910 sysdate 11 1220...

SqlServer Convert函式 日期格式化

sql中最常用的資料型別就是各種時間了。實際使用的時候,我們經常需要將各種時間轉化為其他新的資料型別。這個時候就是輪到convert函式顯示威力了。convert 函式是把日期轉換為新資料型別的通用函式,同時,convert 函式可以用不同的格式顯示時間或日期資料。convert data type...