python時間操作

2021-06-26 06:35:40 字數 4801 閱讀 9855

不管何時何地,只要我們程式設計時遇到了跟時間有關的問題,都要想到 datetime 和 time 標準庫模組,今天我們就用它內部的方法,詳解python操作日期和時間的方法。

1.將字串的時間轉換為時間戳

複製**

**如下:

方法:

a = "2013-10-10 23:40:00"

#將其轉換為時間陣列

import time

timearray = time.strptime(a, "%y-%m-%d %h:%m:%s")

#轉換為時間戳:

timestamp = int(time.mktime(timearray))

timestamp == 1381419600

2.格式更改

如a = "2013-10-10 23:40:00",想改為 a = "2013/10/10 23:40:00"

方法:先轉換為時間陣列,然後轉換為其他格式

複製**

**如下:

timearray = time.strptime(a, "%y-%m-%d %h:%m:%s")

otherstyletime = time.strftime("%y/%m/%d %h:%m:%s", timearray)

3.時間戳轉換為指定格式日期

方法一:利用localtime()轉換為時間陣列,然後格式化為需要的格式,如:

複製**

**如下:

timestamp = 1381419600

timearray = time.localtime(timestamp)

otherstyletime = time.strftime("%y-%m-%d %h:%m:%s", timearray)

otherstyletime == "2013-10-10 23:40:00"

方法二:

複製**

**如下:

import datetime

timestamp = 1381419600

datearray = datetime.datetime.utcfromtimestamp(timestamp)

otherstyletime = datearray.strftime("%y-%m-%d %h:%m:%s")

otherstyletime == "2013-10-10 23:40:00"

4.獲取當前時間並轉換為指定日期格式

方法一:

複製**

**如下:

import time

#獲得當前時間時間戳

now = int(time.time())  ->這是時間戳

#轉換為其他日期格式,如:"%y-%m-%d %h:%m:%s"

timearray = time.localtime(timestamp)

otherstyletime = time.strftime("%y-%m-%d %h:%m:%s", timearray)

方法二:

複製**

**如下:

import datetime

#獲得當前時間

now = datetime.datetime.now()  ->這是時間陣列格式

#轉換為指定的格式:

otherstyletime = now.strftime("%y-%m-%d %h:%m:%s")

5.獲得三天前的時間的方法

複製**

**如下:

import time

import datetime

#先獲得時間陣列格式的日期

threedayago = (datetime.datetime.now() - datetime.timedelta(days = 3))

#轉換為時間戳:

timestamp = int(time.mktime(threedayago.timetuple()))

#轉換為其他字串格式:

otherstyletime = threedayago.strftime("%y-%m-%d %h:%m:%s")

注:timedelta()的引數有:days,hours,seconds,microseconds

6.給定時間戳,計算該時間的幾天前時間

複製**

**如下:

timestamp = 1381419600

#先轉換為datetime

import datetime

import time

datearray = datetime.datetime.utcfromtimestamp(timestamp)

threedayago = datearray - datetime.timedelta(days = 3)

#參考5,可以轉換為其他的任意格式了

7、用python計算昨天和明天的日期

複製**

**如下:

>>> import datetime #匯入日期時間模組

>>> today = datetime.date.today() #獲得今天的日期

>>> print today #輸出今天日期

2014-01-04 

>>> yesterday = today - datetime.timedelta(days=1) #用今天日期減掉時間差,引數為1天,獲得昨天的日期

>>> print yesterday

2014-01-03 

>>> tomorrow = today + datetime.timedelta(days=1) #用今天日期加上時間差,引數為1天,獲得明天的日期

>>> print tomorrow

2014-01-05 

>>>

>>> print "昨天:%s, 今天:%s, 明天:%s" % (yesterday, today, tomorrow) #字串拼接在一起輸出,這3天的日期

昨天:2014-01-03, 今天:2014-01-04, 明天:2014-01-05

8、python裡使用time模組來獲取當前的時間

複製**

**如下:

#!/usr/bin/python

import time

print (time.strftime("%h:%m:%s"))

## 12 hour format ##

print (time.strftime("%i:%m:%s"))

#:輸出

#18:11:30

#6:11:30

9、列印出當前的日期的python程式

複製**

**如下:

!/usr/bin/python

import time

## dd/mm/yyyy格式

print (time.strftime("%d/%m/%y"))

#輸出:

11/03/2014

10、使用datetime模組來獲取當前的日期和時間

複製**

**如下:

#!/usr/bin/python

import datetime

i = datetime.datetime.now()

print ("當前的日期和時間是 %s" % i)

print ("iso格式的日期和時間是 %s" % i.isoformat() )

print ("當前的年份是 %s" %i.year)

print ("當前的月份是 %s" %i.month)

print ("當前的日期是  %s" %i.day)

print ("dd/mm/yyyy 格式是  %s/%s/%s" % (i.day, i.month, i.year) )

print ("當前小時是 %s" %i.hour)

print ("當前分鐘是 %s" %i.minute)

print ("當前秒是  %s" %i.second)

附:日期和時間的格式化引數

複製**

**如下:

%a 星期幾的簡寫

%a 星期幾的全稱

%b 月分的簡寫

%b 月份的全稱

%c 標準的日期的時間串

%c 年份的後兩位數字

%d 十進位制表示的每月的第幾天

%d 月/天/年

%e 在兩字元域中,十進位制表示的每月的第幾天

%f 年-月-日

%g 年份的後兩位數字,使用基於周的年

%g 年分,使用基於周的年

%h 簡寫的月份名

%h 24小時制的小時

%i 12小時制的小時

%j 十進位制表示的每年的第幾天

%m 十進位制表示的月份

%m 十時制表示的分鐘數

%n 新行符

%p 本地的am或pm的等價顯示

%r 12小時的時間

%r 顯示小時和分鐘:hh:mm

%s 十進位制的秒數

%t 水平製表符

%t 顯示時分秒:hh:mm:ss

%u 每週的第幾天,星期一為第一天 (值從0到6,星期一為0)

%u 第年的第幾周,把星期日做為第一天(值從0到53)

%v 每年的第幾周,使用基於周的年

%w 十進位制表示的星期幾(值從0到6,星期天為0)

%w 每年的第幾周,把星期一做為第一天(值從0到53)

%x 標準的日期串

%x 標準的時間串

%y 不帶世紀的十進位制年份(值從0到99)

%y 帶世紀部分的十制年份

%z,%z 時區名稱,如果不能得到時區名稱則返回空字元。

%% 百分號

python時間操作

1 計算時間差 q 如何方便的計算兩個時間的差,如兩個時間相差幾天,幾小時等 a 使用datetime模組可以很方便的解決這個問題,舉例如下 import datetime d1 datetime datetime 2009,3 23 d2 datetime datetime 2009,10 7 d...

python 時間操作

把2018年6月30日轉化為元組和時間戳 time str 2018 06 30 09 59 26 print time.strptime time str,y m d h m s tup time time.strptime time str,y m d h m s print time.mkti...

Python 時間操作

目錄 datetime timedelta datetime 轉 字串 strstrftime strftime字串 轉 datetime strptime python標準模組 datetime 除了5種類以外,datetime模組還定義了兩個常量 datetime.minyear和datetim...