1. 程式人生 > >Python日期操作學習筆記

Python日期操作學習筆記

 http://www.itzn.cn/html/jiaoben/python-perl-VBA/200812/19-3283.html

字串是使用靜態的方式進行儲存,只能讀而不能直接修改字元內容。特別將一堆對字串並在一起的時候,雖然可以直接相加,聽說這樣的速度奇慢,只有用其它函式的方式進行,好在也不太麻煩。
比如用 print ','.join(datelist)
就可以將datelist列表裡面的所有專案併成一個字串,當然這個表示式會在每一個專案中間插入一個逗號,這種方式比用迴圈的方式更簡潔。
日期的操作必須使用time或datetime庫
import time
>>> s="2006-1-2"
>>> time.strptime(s,"%Y-%m-%d)
這是將字串格式的日期及時間轉成日期物件
轉義符對應意義如下
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應的日期表示和時間表示
%d 月內中的一天(0-31)
%H 24小時制小時數(0-23)
%I 12小時制小時數(01-12)
%j 年內的一天(001-366)
%m 月份(01-12)
%M 分鐘數(00=59)
%p 本地A.M.或P.M.的等價符
%S 秒(00-59)
%U 一年中的星期數(00-53)星期天為星期的開始
%w 星期(0-6),星期天為星期的開始
%W 一年中的星期數(00-53)星期一為星期的開始
%x 本地相應的日期表示
%X 本地相應的時間表示
%y 兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%Z 當前時區的名稱
%% %號本身
============================================
#-*- coding:utf-8 -*-
import time
import datetime
# 2007-11-25 15:36:35
#使用datetime模組可以很方便的解決這個問題,舉例如下:
d1 = datetime.datetime(2005, 2, 16)
d2 = datetime.datetime(2004, 12, 31)
# 結果:47
print (d1 - d2).days
#上例演示了計算兩個日期相差天數的計算。
starttime = datetime.datetime.now()
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
#上例演示了計算執行時間的例子,以秒進行顯示。
d1 = datetime.datetime.now()
d3 = d1 + datetime.timedelta(days =10)
print str(d3)
print d3.ctime()
# 上例演示了計算當前時間向後10天的時間。
# 如果是小時 days 換成 hours
# 其本上常用的類有:datetime和timedelta兩個。它們之間可以相互加減。
# 每個類都有一些方法和屬性可以檢視具體的值,如datetime可以檢視:天數(day),小時數(hour),星期幾(weekday())等;
# timedelta可以檢視:天數(days),秒數(seconds) 等。
#
# time , datetime , string 型別互相轉換
#
# string -> time
# time.strptime(publishDate,"%Y-%m-%d %H:%M:%S")
#
# time -> string
# time.strftime("%y-%m-%d",t)
date = '2007-01-01'
print type(date)
date = time.strptime(date,"%Y-%m-%d")
print type(date)
print date[0]
d4 = datetime.datetime(date[0], date[1],date[2])
print d4
print type(d4)
#將日期時間物件轉成字串則要用
date = time.strftime("%y-%m-%d",date)
print type(date)
#其中d為日期時間物件