python datetime 日期处理

1、获取一个datetime的年、月、日

from datetime import datetime

now_date = datetime.now()
print(now_date.year)
print(now_date.month)
print(now_date.day)

2、将日期转化为字符串的格式的函数:datetime.datetime.strftime(format[, t]),举例:

from datetime import datetime

now_date = datetime.now()
print('时间:(%Y-%m-%d %H:%M:%S %f):', now_date.strftime('%Y-%m-%d %H:%M:%S %f'))
print('时间:(%Y-%m-%d %H:%M:%S %p): ',now_date.strftime('%y-%m-%d %I:%M:%S %p'))
print('星期缩写%%a:%s'%now_date.strftime('%a'))
print('星期全拼%%A:%s'%now_date.strftime('%A'))
print('月份缩写%%b:%s'%now_date.strftime('%b'))
print('月份全写%%B:%s'%now_date.strftime('%B'))
print('日期时间%%c:%s'%now_date.strftime('%c'))
print('今天是这周的第%s天'%now_date.strftime('%w'))
print('今天是今年的第%s天'%now_date.strftime('%j'))
print('今周是今年的第%s天'%now_date.strftime('%U'))
print('今天是当月的第%s天'%now_date.strftime('%d'))

运行结果:

时间:(%Y-%m-%d %H:%M:%S %f): 2020-05-08 11:27:15 682767
时间:(%Y-%m-%d %H:%M:%S %p):  20-05-08 11:27:15 AM
星期缩写%a:Fri
星期全拼%A:Friday
月份缩写%b:May
月份全写%B:May
日期时间%c:Fri May  8 11:27:15 2020
今天是这周的第5天
今天是今年的第129天
今周是今年的第18天
今天是当月的第08天

3、将字符串格式转化为日期格式的函数:datetime.datetime.strptime(string[, format]),举例:

print(datetime.strptime('20200508','%Y%m%d'))
print(datetime.strptime('Sep-21-09 16:34','%b-%d-%y %H:%M'))

运行结果:

2020-05-08 00:00:00
2009-09-21 16:34:00

4、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('2012-03-05 17:41:20', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime('2012-03-02 17:41:20', '%Y-%m-%d %H:%M:%S')
delta = d1 - d2
print delta.days

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')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值