请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

对Python日期的加减等操作

[复制链接]
查看: 67|回复: 0

2万

主题

2万

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
70839
发表于 2020-1-17 02:14 | 显示全部楼层 |阅读模式
1. 日期输出格式化

全数日期、时候的api都在datetime模块内。
1. datetime => string
  1. now = datetime.datetime.now()now.strftime('%Y-%m-%d %H:%M:%S')#输出2012-03-05 16:26:23.870105
复制代码
strftime是datetime类的实例方式。
2. string => datetime
  1. t_str = '2012-03-05 16:26:23'd = datetime.datetime.strptime(t_str, '%Y-%m-%d %H:%M:%S')
复制代码
strptime是datetime类的静态方式。
2. 日期比力操纵

在datetime模块中有timedelta类,这个类的工具用于表示一个时候间隔,比如两个日期大要时候的差别。
机关方式:
  1. 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类的实例。比如:
  1. year = timedelta(days=365)ten_years = year *10nine_years = ten_years - year
复制代码
同时,date、time和datetime类也支持与timedelta的加、减运算。
  1. datetime1 = datetime2 +/- timedeltatimedelta = datetime1 - datetime2
复制代码
这样,可以很方便的实现一些功用。
1. 两个日期相差几多天。
  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 - d2print delta.days
复制代码
输出:3
2. 本日的n天后的日期。
  1. now = datetime.datetime.now()delta = datetime.timedelta(days=3)n_days = now + deltaprint n_days.strftime('%Y-%m-%d %H:%M:%S')
复制代码
输出:2012-03-08 17:44:50
  1. #coding=utf-8import datetimenow=datetime.datetime.now()print now#将日期转化为字符串 datetime => stringprint now.strftime('%Y-%m-%d %H:%M:%S')t_str = '2012-03-05 16:26:23'#将字符串转换为日期 string => datetimed=datetime.datetime.strptime(t_str,'%Y-%m-%d %H:%M:%S')print d#在datetime模块中有timedelta类,这个类的工具用于表示一个时候间隔,比如两个日#期大要时候的差别。#盘算两个日期的间隔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 - d2print delta.daysprint delta#本日的n天后的日期。now=datetime.datetime.now()delta=datetime.timedelta(days=3)n_days=now+deltaprint n_days.strftime('%Y-%m-%d %H:%M:%S')
复制代码
免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 淄博新闻网-淄博日报 淄博晚报 淄博财经新报 掌中淄博 淄博专业新闻资讯发布网站 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表