1. 程式人生 > >python 日期相關的各種操作總結

python 日期相關的各種操作總結

用 Python 做專案時,經常會遇到與日期轉換相關,日期計算相關的功能,動不動就要去查python手冊,感覺麻煩,因此把自己常用的一些東西,總結了一下,總體說來到目前為止遇到如下一些需求:
1. 用python 把datetime轉成字串
2. 用python 把字串轉成datetime
3. 用python 把字串轉成時間戳形式
4. 用python 把時間戳轉成字串形式
5. 用python 把把datetime型別轉外時間戳形式
6. 用python 計算兩個日期之間的差
7. 用python 計算兩個日期的 timestamp 差值
8. 用python 比較兩個日期的大小
9. 指定日期加上 一個時間段,天,小時,或分鐘之後的日期

下面是測試程式碼:
程式程式碼程式程式碼
#coding:utf-8
'''
base on python 2.7
Created on 2012-12-14
@author: yiahomen.com
'''
import datetime
import time

def datetime_toString(dt):
    """把datetime轉成字串"""
    return dt.strftime("%Y-%m-%d")

def string_toDatetime(string):
    """把字串轉成datetime"""
    return datetime.datetime.strptime(string, "%Y-%m-%d")


def string_toTimestamp(strTime):
    """把字串轉成時間戳形式"""
    return time.mktime(string_toDatetime(strTime).timetuple())

def timestamp_toString(stamp):
    """把時間戳轉成字串形式"""
    return time.strftime("%Y-%m-%d-%H", time.localtime(stamp))

def datetime_toTimestamp(dateTime):
    """把datetime型別轉外時間戳形式"""
    return time.mktime(dateTime.timetuple())


def substract_DateTime(dateStr1,dateStr2):
    """ 返回兩個日期之間的差 """
    d1=string_toDatetime(dateStr1)
    d2=string_toDatetime(dateStr2)
    return d2-d1

def substract_TimeStamp(dateStr1,dateStr2):
    """ 兩個日期的 timestamp 差值 """
    ts1= string_toTimestamp(dateStr1)
    ts2= string_toTimestamp(dateStr2)
    return ts1-ts2

def compare_dateTime(dateStr1,dateStr2):
    """兩個日期的比較, 當然也可以用timestamep方法比較,都可以實現."""
    date1 = string_toDatetime(dateStr1)
    date2 = string_toDatetime(dateStr2)
    return date1.date()>date2.date()

def dateTime_Add(dateStr,days=0,hours=0,minutes=0):
    """ 指定日期加上 一個時間段,天,小時,或分鐘之後的日期 """
    date1= string_toDatetime(dateStr)
    return date1+datetime.timedelta(days=days,hours=hours,minutes=minutes)

if __name__=='__main__':
    print substract_DateTime('2012-12-12','2012-01-01')
    #-346 days, 0:00:00
    print substract_DateTime('2012-12-12','2012-01-01').days
    #-346
    print substract_TimeStamp('2012-12-12','2012-01-01')
    #29894400.0    
    print substract_TimeStamp('2012-12-12','2012-01-01')/(24*60*60),'天'
    #346.0 天
    print compare_dateTime('2012-12-12','2012-01-01')
    #True
    print dateTime_Add('2012-12-12',days=10,hours=5,minutes=10)
    #2012-12-22 05:10:00

轉載自:http://www.yihaomen.com/article/python/330.htm

相關推薦

python 日期相關各種操作總結

用 Python 做專案時,經常會遇到與日期轉換相關,日期計算相關的功能,動不動就要去查python手冊,感覺麻煩,因此把自己常用的一些東西,總結了一下,總體說來到目前為止遇到如下一些需求:1. 用python 把datetime轉成字串2. 用python 把字串轉成da

Python:元組操作總結

沒有 列表 轉化 輸出 nbsp 逗號 復制 physics span Python的元組和列表類似,不同之處在於元組中的元素不能修改(因此元組又稱為只讀列表),且元組使用小括號而列表使用中括號,如下: 1 tup1=(‘physics‘,‘chemistry‘,1997

Python:文件操作總結2——模塊操作

ces mod 指定 ima order alt ron size border 一、os模塊常用的文件處理函數 os模塊提供了對系統環境、文件、目錄等操作系統級的借口函數。 1.os.access(path,mode):判斷path路徑下的文件是否有權限mode,若有返

python對json的操作總結 zz

key ssi 函數 ascii ole library ota not 實例 Json簡介:Json,全名 JavaScript Object Notation,是一種輕量級的數據交換格式。Json最廣泛的應用是作為AJAX中web服務器和客戶端的通訊的數據格式。現在也常

python對json的操作總結

n) true python2 obj 應該 再看 lol gin 廣泛 Json簡介:Json,全名 JavaScript Object Notation,是一種輕量級的數據交換格式。Json最廣泛的應用是作為AJAX中web服務器和客戶端的通訊的數據格式。現在也常用於h

python對json的操作總結(一)

IV 序列化 web print with open 運行 IT 交換 編程語言 json 概念:json是一種輕量級數據交換格式。 如果我們要在不同的編程語言之間傳遞對象,就必須把對象序列化為標準格式,比如XML,但更好的方法是序列化為JSON,因為JSON表示出來就

今天來談談Python中的各種排序總結,含實現代碼

pro 一個數 append 增量 ice quick 教你 指向 具體實現 下圖是各種排序方法的時間復雜度、空間復雜度和穩定性,大牛編程吧教你如何編程提升。 1.直接插入排序。 直接插入的基本思想是每一步將一個數插入到已排序的有序數列中。 python代碼實現: def

python中的檔案操作總結

目錄 檔案:資料的抽象和集合 檔案是儲存在輔助儲存器上的資料序列 檔案是資料儲存的一種形式 檔案展現形態:文字檔案和二進位制檔案 文字檔案 VS. 二進位制檔案 檔案檔案和二進位制檔案只是檔案的展示方式 本質上,所有檔案都是二進位制形式儲存 形式上,所有檔案採用兩種方式展示 文字檔案 由單一特定編

python列表的各種操作

列表操作 示例: lt = [1, 2, 3, 4, 5] print(lt[0]) print(lt[-1]) print(lt[1:3]) print(len(lt)) # 修改 lt[0] = 100 # 追加,在列表的末尾新增 # lt.append(200) #

eclipse 中Tomcat的相關配置操作總結之45秒啟動限制

1.修改Tomcat的45秒啟動超時:1.1到eclipse的工作空間,找到工作空間中.metadata/.plugins/org.eclipse.wst.server.core目錄中的servers.xml檔案,修改servers.xml,eg:F:\java_worksp

Java 日期各種操作

在Java中,操作日期主要涉及到一下幾個類: 1、java.util.Date         類 Date 表示特定的瞬間,精確到毫秒。從 JDK 1.1 開始,應該使用 Calendar 類實現日期和時間欄位之間轉換,使用 DateFormat 類來格式化和分析日期字串。Date 中的把日期解釋為

python日期模組datetime常用操作總結(字串與datetime物件互轉、日期差值計算、時間戳獲取、時間陣列生成等)

     在python中,自帶的datetime和time兩個時間模組在平時的使用中可以滿足我們絕大多數的需求,但是由於缺乏對這些模組深度的瞭解和使用,導致平時能夠使用到的時間功能十分有限,例如:對於time模組,我的使用幾乎就是停留在程式執行時間的統計和時間戳生成這

Python 檔案相關操作總結(讀寫 txt 檔案、複製檔案、獲得檔案列表等)

  本文平時程式設計中對於出現的 txt 的讀與寫入的相關方法彙總,因為是在學習過程中逐漸發現逐漸新增的,所以可能不會很全。但是我會保證持續的更新,使其趨於完善。   本片博文參考多篇博文彙總而成且在必要出添加了引用。 1. python獲取檔案路徑、檔名、字

python 集合相關操作

查看 pan logs per ngx 返回值 sdi 字典 any 集合相關操作 集合是一個無序的,不重復的數據組合,它有著兩個主要作用:去重以及關系測試。 去重指的是當把一個列表變成了集合,其中重復的內容就自動的被去掉了 關系測試指的是,測試兩組數據之間的交集、差集、並

python相關總結(持續更新)

屬於 模塊 error pan 類成員 pro 相關 ror __str__ __init__   構造函數 __dict__   vars()函數,獲取命名空間裏面的名稱 __str__   str()函數,輸出成員相關信息的內容 __repr__   repl()函數,

Python之文件操作:經驗總結

pen bpm files 編碼 判斷目錄 exists 判斷 pri 功能 1、怎麽判斷讀出來的文件是gbk還是utf-8編碼 if content == u‘中國‘.encode(‘gbk‘): return ‘gbk‘ elif content == u‘中國

Python:字符串操作總結

blog 數量 .com http ble 格式 如果 ext 相同 所有標準的序列操作(索引、分片、乘法、判斷成員資格、求長度、取最小值最大值)對字符串同樣適用,且字符串是不可變的。 一、字符串格式化 轉換說明符 [註]: 這些項的順序至關重要 (1)%字符:標記轉換說明

python集合相關操作

對稱 symmetric date n) 內容 指定 成了 進行 都在 集合相關操作 集合是一個無序的,不重復的數據組合,它有著兩個主要作用:去重以及關系測試。 去重指的是當把一個列表變成了集合,其中重復的內容就自動的被去掉了 關系測試指的是,測試兩組數據之間的交集、差集、

python字符串操作分類總結

imp 文件名 step isspace 開始 rst 大小寫 解碼 als 1、切片操作: str[start:end:step]包括頭,不包括尾巴step為步長,意思是每隔step-1個元素,取一個字符"while"[::-1] 反向取字符串,實現字符串的反轉--》"e

python基礎學習二 數據結構之list及相關基本操作

意思 指定位置 blog div 基礎 我們 clas 位置 列表 list是py內置的一種數據類型,list就是列表的意思,list就是一種有序的數據集合,可以隨時增加和刪除list的元素。 生活中,比如我們要列出全班同學的名字,就可以用list來表示 >>