วิธีคำนวณ อายุ ด้วย Python นับจากวันเกิด ให้แสดงเป็น ปี เดือน วัน

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: วิธีคำนวณ อายุ ด้วย Python นับจากวันเกิด ให้แสดงเป็น ปี เดือน วัน

Re: วิธีคำนวณ อายุ ด้วย Python นับจากวันเกิด ให้แสดงเป็น ปี เดือน วัน

โดย mindphp » 01/12/2019 2:31 pm

สำหรับการคำนวณ อายุ ด้วย SQL ดูได้ที่นี่
https://www.mindphp.com/developer/21-sq ... Mssql.html

คำนวนอายุ จากวันเกิด ใน Mysql แบบ Store function ไว้ใช้งาน
https://www.mindphp.com/%E0%B8%9A%E0%B8 ... mysql.html

วิธีคำนวณ อายุ ด้วย Python นับจากวันเกิด ให้แสดงเป็น ปี เดือน วัน

โดย jirawoot » 30/11/2019 6:05 pm

สำหรับคนที่กำลังหาวิธีการ คำนวณ อายุ ด้วยภาษา Python โดยคำนวณจากวันเกิด แล้วจากนั้นให้แสดง Output ออกมาเป็น ปี เดือน วัน ตามลำดับนั้นก็ต้องมีการ Input ของวันเกิดของเราเข้าไปก่อน ครับ ในส่วนประโยชน์ของการคำนวณอายุ นี้จะสามารถบอก ปี เดือน วัน ได้ สามารถนำใช้กับโปรแกรมที่ใช้ Python หรือจะนำเป็นเขียนเป็น ฟังก์ชันเมธอด ก็ได้
ขั้นตอนมีดังนี้
อันดับแรก ให้ import datetime เข้ามาใช้

โค้ด: เลือกทั้งหมด

# -*- coding: utf-8 -*-
from datetime import date
จากนั้นให้กำหนดค่าตัวแปรเพื่อเก็บวัน เดือน ปี เกิด

โค้ด: เลือกทั้งหมด

birthyear = 1996
birthmonth = 8
birthday = 10
แล้วกำหนดตัวแปรเก็บค่าวันปัจจุบัน จากนั้นเอามาตัดด้วย split

โค้ด: เลือกทั้งหมด

daynow = date.today().strftime('%Y-%m-%d').split('-')
นำวันเกิดกับวันปัจจุบันที่ได้มาทำการลบกัน

โค้ด: เลือกทั้งหมด

age_y = int(daynow[0])-int(birthyear)
age_m = int(daynow[1])-int(birthmonth)
age_d = int(daynow[2])-int(birthday)
จากนั้นก็จะเป็นการแสดงผล

โค้ด: เลือกทั้งหมด

print 'วันปัจจุบัน '+date.today().strftime('%d-%m-%Y')
print 'วันเกิด %d - %d - %d'%(birthday,birthmonth,birthyear)
print '==============================='
print 'อายุของคุณ %d ปี %d เดือน %d วัน' %( age_y,age_m,age_d)
full code

โค้ด: เลือกทั้งหมด

# -*- coding: utf-8 -*-
from datetime import date

birthyear = 1996
birthmonth = 8
birthday = 10

daynow = date.today().strftime('%Y-%m-%d').split('-')
age_y = int(daynow[0])-int(birthyear)
age_m = int(daynow[1])-int(birthmonth)
age_d = int(daynow[2])-int(birthday)

print 'วันปัจจุบัน '+date.today().strftime('%d-%m-%Y')
print 'วันเกิด %d - %d - %d'%(birthday,birthmonth,birthyear)
print '==============================='
print 'อายุของคุณ %d ปี %d เดือน %d วัน' %( age_y,age_m,age_d)
Output
Python Knowledge-1.png
Python Knowledge-1.png (7.89 KiB) Viewed 16808 times
สามารถนำไปประยุกต์ใช้ได้หลายแบบ หรือ จำทำเป็น ฟังก์ชันเมธอด เพื่อเรียกใช้โดยไม่ต้องเขียนหลายครั้งเพื่อประหยัดก็ได้นะครับ



อ้างอิง
https://www.geeksforgeeks.org/python-program-to-calculate-age-in-year/
https://stackoverflow.com/questions/2217488/age-from-birthdate-in-python
https://docs.python.org/2/library/datetime.html

ข้างบน