您的位置:首页 > 编程语言 > Python开发

[Python]datetime常用的几个操作

2013-08-25 22:58 423 查看
#coding: utf-8

''' 日期相关的操作 '''

from datetime import datetime
from datetime import timedelta

DATE_FMT = '%Y-%m-%d'
DATETIME_FMT = '%Y-%m-%d %H:%M:%S'
DATE_US_FMT = '%d/%m/%Y'

'''
格式化常用的几个参数
Y : 1999
y :99
m : mouth 02 12
M : minute 00-59
S : second
d : day
H : hour
'''

def dateToStr(date):
'''把datetime类型的时间格式化自己想要的格式'''
return datetime.strftime(date, DATETIME_FMT)

def strToDate(strdate):
'''把str变成日期用来做一些操作'''
return datetime.strptime(strdate, DATETIME_FMT)

def timeElement():
'''获取一个时间对象的各个元素'''
now = datetime.today()
print 'year: %s  month: %s  day: %s' %(now.year, now.month, now.day)
print 'hour: %s  minute: %s  second: %s' %(now.hour, now.minute, now.second)
print 'weekday: %s ' %(now.weekday()+1)  #一周是从0开始的

def timeAdd():
'''
时间的加减,前一天后一天等操作
datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
参数可以是正数也可以是负数
得到的对象可以加也可以减 乘以数字和求绝对值
'''
atime = timedelta(days=-1)
now = datetime.strptime('2001-01-30 11:01:02', DATETIME_FMT)
print now + atime
print now - abs(atime)
print now - abs(atime)*31

import calendar
def lastFirday():
today = datetime.today()
targetDay = calendar.FRIDAY
thisDay = today.weekday()
de = (thisDay - targetDay) % 7
res = today - timedelta(days=de)
print res

def test():
#print dateToStr(datetime.today())
#print strToDate('2013-01-31 12:00:01')
#timeElement()
#timeAdd()
#lastFirday()

if __name__=='__main__':
test()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息