python根据出生日期返回年龄的方法


Posted in Python onMarch 26, 2015

本文实例讲述了python根据出生日期返回年龄的方法。分享给大家供大家参考。具体实现方法如下:

def CalculateAge(self, Date):
    '''Calculates the age and days until next birthday from the given birth date'''
    try:
      Date = Date.split('.')
      BirthDate = datetime.date(int(Date[0]), int(Date[1]), int(Date[2]))
      Today = datetime.date.today()
      if (Today.month > BirthDate.month):
        NextYear = datetime.date(Today.year + 1, BirthDate.month, BirthDate.day)
      elif (Today.month < BirthDate.month):
        NextYear = datetime.date(Today.year, Today.month + (BirthDate.month - Today.month), BirthDate.day)
      elif (Today.month == BirthDate.month):
        if (Today.day > BirthDate.day):
          NextYear = datetime.date(Today.year + 1, BirthDate.month, BirthDate.day)
        elif (Today.day < BirthDate.day):
          NextYear = datetime.date(Today.year, BirthDate.month, Today.day + (BirthDate.day - Today.day))
        elif (Today.day == BirthDate.day):
          NextYear = 0
      Age = Today.year - BirthDate.year
      if NextYear == 0: #if today is the birthday
        return '%d, days until %d: %d' % (Age, Age+1, 0)
      else:
        DaysLeft = NextYear - Today
        return '%d, days until %d: %d' % (Age, Age+1, DaysLeft.days)
    except:
      return 'Wrong date format'

使用方法如下:

print CheckDate('2000.05.05')

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python单线程实现多个定时器示例
Mar 30 Python
将图片文件嵌入到wxpython代码中的实现方法
Aug 11 Python
python通过smpt发送邮件的方法
Apr 30 Python
剖析Django中模版标签的解析与参数传递
Jul 21 Python
Python操作Excel之xlsx文件
Mar 24 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 Python
利用python打开摄像头及颜色检测方法
Aug 03 Python
python爬虫之urllib库常用方法用法总结大全
Nov 14 Python
python同时遍历数组的索引和值的实例
Nov 15 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
Keras loss函数剖析
Jul 06 Python
Python request post上传文件常见要点
Nov 20 Python
python获取远程图片大小和尺寸的方法
Mar 26 #Python
python使用cStringIO实现临时内存文件访问的方法
Mar 26 #Python
python使用pil生成缩略图的方法
Mar 26 #Python
python实现基于两张图片生成圆角图标效果的方法
Mar 26 #Python
python正则表达式match和search用法实例
Mar 26 #Python
python根据开头和结尾字符串获取中间字符串的方法
Mar 26 #Python
pymongo实现控制mongodb中数字字段做加法的方法
Mar 26 #Python
You might like
玩家交还《星际争霸》原始码光盘 暴雪报以厚礼
2017/05/05 星际争霸
一个php作的文本留言本的例子(五)
2006/10/09 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
使用puppeteer破解极验的滑动验证码
2018/02/24 Javascript
vue props传值失败 输出undefined的解决方法
2018/09/11 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
vue + axios get下载文件功能
2019/09/25 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
vue3+typescript实现图片懒加载插件
2020/10/26 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
Python Web框架Tornado运行和部署
2020/10/19 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
《雨霖铃》教学反思
2014/02/22 职场文书
公司请假条格式
2014/04/11 职场文书
护士年终个人总结
2015/02/13 职场文书
退休欢送会致辞
2015/07/31 职场文书
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
HTML中实现音乐或视频自动播放案例详解
2022/05/30 HTML / CSS
详解SQL报错盲注
2022/07/23 SQL Server