أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

كل مايخص سكربتات وتساؤلات لغة PHP
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة Saif Alhak »

السلام عليكم
عندي دالة تقوم بحساب العمر من خلال تواريخ الميلاد المدخلة بصيغة يوم-شهر-سنة , لكنها لاتعمل عندما يكون التاريخ مدخل كسنة الميلاد فقط , فأنا بحاجة لدالة تقوم بإكتشاف إن التاريخ غير كامل الصيغة وتقوم بتحويل السنة 1990 مثلاً لـ 1-1-1990 كأقرب حل , هل أجد هكذا شيئ ؟!
لص القلوب
مُطور
مشاركات: 288
اشترك في: 27 يناير 2009, 05:04

رد: أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة لص القلوب »

ارفق الداله الي عندك
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة Saif Alhak »

مرحباً

الدالة هي لحساب العمر بين تاريخي الوفاة والولادة

كود: تحديد الكل

$sh_age = floor( (strtotime($dead_date) - strtotime($born_date)) / 31556926);
وصيغة التاريخ هي

كود: تحديد الكل

date('j-n-Y',time())
saanina
عبدالرحمــــن
مشاركات: 3762
اشترك في: 30 أغسطس 2004, 13:54

رد: أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة saanina »

هات 3 امثله للتواريخ
وشكل استخدامك لها
saanina
عبدالرحمــــن
مشاركات: 3762
اشترك في: 30 أغسطس 2004, 13:54

رد: أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة saanina »

بالمناسبه هذا ناتج كودك

كود: تحديد الكل

php> $dead_date = '22-11-2009';

php> $born_date = '33-8-1987';

php> $sh_age = floor( (strtotime($dead_date) - strtotime($born_date)) / 31556926);

php> echo $sh_age;
39
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

Ree: أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة Saif Alhak »

السلام عليكم
تحياتي لك أخي عبدالرحمن , كيف حالك؟
بالنسبة للمثال فهذا الكود مثلاً

كود: تحديد الكل

$dead_date = '22-11-2009';
$born_date = '30-8-1987';
$sh_age = floor( (strtotime($dead_date) - strtotime($born_date)) / 31556926);
echo $sh_age;
ناتجه هو 22

ومشكلتي هي أنه أحياناً لاتتوفر لدينا معلومات عن شهر ويوم الميلاد ويكون متوفراً فقط سنة الميلاد , وبالتالي لايعمل الكود ... فأريد أن تأخذ قيمة اليوم 1 والشهر 1 تلقائياً مع الحفاظ على السنة كي يعمل الكود

أما بالنسبة لناتج كودي فبالمناسبة لايوجد شهر ميلادي فيه 33 يوم غمزة

تقبل تحياتي
لص القلوب
مُطور
مشاركات: 288
اشترك في: 27 يناير 2009, 05:04

Ree: أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة لص القلوب »

ها هي الفنكشن لحساب عمر الشخص

كود: تحديد الكل

function year($s)
{
    $b = date_create($s);
    $t = new DateTime(date('Y-m-d',time())); 
    return date_diff($t, $b)->format('%Y');
}
echo year('1991');
 
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة Saif Alhak »

السلام عليكم
أخي "لص القلوب" , شكراً لك على الفنكشن ولكنها ليست ما أريده *_^

أنا لدي متغير تاريخ .... إذا كان بصيغة كاملة 15-1-1990 فليتركة , وإذا كان عبارة عن السنة 1980 فقط , فأريد تحويلها لصيغة كاملة هكذا 1-1-1980 , فهل هذا ممكن ؟!
لص القلوب
مُطور
مشاركات: 288
اشترك في: 27 يناير 2009, 05:04

رد: أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة لص القلوب »

الفنكشن الي ارفقتهالك بتشتغل مع السنه او مع السنه + الشهر او مع السنه + الشهر + اليوم
علي العموم لو عايز تتحقق من التاريخ وتضيف فيه الشهر واليوم

كود: تحديد الكل

$t = '1991';
//$t => 1991
if(strpos($t,'-') == false) $t='1-1-'.$t;
//$t => 1-1-1991 
Saif Alhak
عضو مفيد
مشاركات: 107
اشترك في: 24 مارس 2009, 20:45
مكان: Damascus - Syria
اتصال:

رد: أريد دالة لإجاع تاريخ بالسنة إلى تاريخ يوم-شهر سنة

مشاركة بواسطة Saif Alhak »

ممتاز الله يعطيك العافية ماقصرت
جاري التجريب
مغلق