![]() |
[PHP] חישוב גיל לפי תאריך (תבנית: DD/MM/YYYY)
השאלה בכותרת..|קורץ|
|
מה הבעיה?
תחסר את השנה הנוכחית פחות השנה שהוא נולד... דוגמא לשימוש (רק שפה זה בודק אם כבר עברה היום הולדת השנה ואם כן אז זה הגיל + 1 כי זה ליום הולדת הבאה): http://www.sbsil.net/birthday/23.5.1988.gif |
עשיתי פעם
פשוט אתה עושה strtotime (מראש שההכנסה תהיה בפורמט המתאים לזה) ואז עושה את התוצאה פחות time(), ומחלק לדוגמא ב(60 * 60 * 24 * 365). עריכה: שי אבל אם הוא רוצה נניח "וחצי"? |
ציטוט:
אבל אם באמת רוצים להיות ממש מדוייק..אפשר בדרך שלך..ואם הולכים בדרך שלך...אפשר להשתמש גם בmktime אני יהמר ויגיד שאתה מנסה לעשות סקריפט יום הולדת...כמו שאני הראתי בתגובה הקודמת? |
ציטוט:
יש לך דרך יותר יעילה? |
ציטוט:
אם כן..השתמשתי בערך במה שהראת כאן..חוץ מהחישוב הגיל....... הימים זה לחלק ב60*60*24 השעות זה השארית של מה שנשאר מהימים חלקי 60*60 וכו' וכו'.. אני לא רואה הרבה דרכים יותר יעילות..למרות שיש איזה פונקציה לא רעה בPHP שעושה חלק מהפירוק הזה לבד..אני העדפתי ללכת על הדרך הזאת...;) עריכה: התבלבלתי, הפונקציה שאמרתי עושה פירוק אחר...בכל זאת...כתבתי איך עשיתי את שלי. |
יהיה הכי פשוט זה לעשות ככה :
כשהמשתמש מכניס את התאריך של היומהולדת שלו להפוך את זה לזמן לינוקס בעזרת MKTIME ואז תמיד לחשב לעשות time()-$dbtime ואז עם date אתה תשיג את כל הפרמטרים הנחוצים. |
ציטוט:
או שלא הבנתי אותך? |?| זה פשוט באתר ללקוח להציג גיל משתמש ודי חשוב לדייק בזה.. כי בוא נניח הוא נולד ב 10.05.1989 אם אני מחשב רק תשנה זה כותב שהוא בן 18 אבל אנחנו רק בסוף ינואר.. יש לו עוד 4 חודשים עד לזה אז זה צריך להציג 17 חח|Lol| קיצר הסתבכתי פה עם עצמי =\ עזרו לי בבקשה:-) |
אתה לוקח את הזמן שהוא נולד:
עושה לו date ומשיג את הdd/mm (או ע"י SUBSTR). לזמן של עכשיו אתה עושה אותו דבר: dd/mm (כל דבר בנפרד). אתה משווה: אם mm של התאריך לידה גדול או שווה לmm של עכשיו, ואם dd של התאריך לידה גדול או שווה לdd של התאריך עכשיו - אפשר להגיד לו מזל טוב. |
BlueNosE, למה substr? אפשר להשתמש ב-explode.
PHP קוד:
|
כל הזמנים הם GMT +2. הזמן כעת הוא 00:16. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ