python -- 日期的操作与星期日期

日期输出格式化

所有日期、时间的api都在datetime模块内。

1. datetime => string

now = datetime.datetime.now()
now.strftime('%Y-%m-%d %H:%M:%S')
#输出2017-03-10 20:23:40.972306

strftime是datetime类的实例方法。

2. string => datetime

t_str = '2017-03-10 20:24:40'
d = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')

strptime是datetime类的静态方法。

 日期比较操作

在datetime模块中有timedelta类,这个类的对象用于表示一个时间间隔,比如两个日期或者时间的差别。

构造方法:

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

所有的参数都有默认值0,这些参数可以是int或float,正的或负的。

可以通过timedelta.days、tiemdelta.seconds等获取相应的时间值。

timedelta类的实例,支持加、减、乘、除等操作,所得的结果也是timedelta类的实例。比如:

year = timedelta(days=365)
ten_years = year *10
nine_years = ten_years - year
同时,date、time和datetime类也支持与timedelta的加、减运算。

datetime1 = datetime2 +/- timedelta
timedelta = datetime1 - datetime2

这样,可以很方便的实现一些功能。

1. 两个日期相差多少天。

d1 = datetime.datetime.strptime('2017-03-10 20:27:23', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2017-03-06 16:40:20', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
print (delta.days)

输出:3

2. 今天的n天后的日期。

now = datetime.datetime.now()
delta = datetime.timedelta(days=3)
n_days = now + delta
print n_days.strftime('%Y-%m-%d %H:%M:%S')
输出:2017-03-10 20:29:46

import datetime as DTM
def addDay(strName, dayInt):  # 在strName的基础上增加dayInt天,返回增加天数后的字符串,dayInt可以为负
    str2date = DTM.datetime.strptime(strName, '%Y-%m-%d')  # str to date, 后面的是格式
    delta = DTM.timedelta(days=dayInt)
    str2date += delta
    strOfDate = str2date.strftime('%Y-%m-%d')  # date to str,
    return strOfDate



获取星期几

from datetime import datetime, date

dayOfWeek = datetime.now().weekday()
print(dayOfWeek)

dayOfWeek = datetime.today().weekday()
print(dayOfWeek)
datetime类的weekday()方法可以获得datetime是星期几,注意weekday()返回的是0~6是星期一到星期日


原文地址: http://www.cnblogs.com/vampirejt/p/4159267.html






















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值