数え年の計算

30分プログラム、その718。数え年の計算。
今まで満年齢+1が数え年だと思っていたんですが、どうやらそこまで単純なルールではないらしいです。

数え年 - Wikipediaによると、

  • 生れたときは1才
  • 年をまたぐと年齢がインクリメントされる

というルールだそうです。

使い方

$ python 718-kazoedoshi.py 2009-12-31
2

ソースコード

#! /usr/bin/python
# -*- mode:python; coding:utf-8 -*-
#
# yakudoshi.py -
#
# Copyright(C) 2010 by mzp
# Author: MIZUNO Hiroki / mzpppp at gmail dot com
# http://howdyworld.org
#
# Timestamp: 2010/01/11 21:23:15
#
# This program is free software; you can redistribute it and/or
# modify it under MIT Lincence.
#
import sys
import time
import datetime

def ydays(d):
    start = datetime.date(d.year,1,1)
    return (d - start).days + 1

birthday = datetime.date(*time.strptime(sys.argv[1],"%Y-%m-%d")[0:3])
today = datetime.date.today()

age = today.year - birthday.year
print age + 1