كيفية حساب عمر الشخص بناءً على تاريخ الميلاد (DateTime) في C#؟
مرحباً بالجميع! أنا مبتدئ في C# وأكتب تطبيقاً صغيراً لإدارة العملاء. أحتاج إلى حساب عمر الشخص تلقائياً بناءً على تاريخ ميلاده المخزن كـ `DateTime`.
المشكلة هي أن مجرد طرح التاريخ الحالي من تاريخ الميلاد والقسمة على 365 لا يعمل بشكل صحيح. السنوات الكبيسة، واختلاف عدد الأيام في الأشهر — كل هذا يسبب خطأ. جربت هذا الكود:
```csharp
DateTime birthDate = new DateTime(2000, 2, 29); // 29 فبراير
DateTime today = DateTime.Today;
int age = (today - birthDate).Days / 365;
Console.WriteLine(age); // أحياناً يطبع 23، بينما يجب أن يكون 24
```
لكن بالنسبة للأشخاص المولودين في 29 فبراير، أو لأولئك الذين لم يأتِ عيد ميلادهم بعد في السنة الحالية، تكون النتيجة غير صحيحة. كيف يمكن حساب العمر بالسنوات بشكل صحيح وموثوق مع مراعاة كل هذه التفاصيل؟ أحتاج إلى حل يعمل مع أي تواريخ، بما في ذلك 29 فبراير. شكراً مسبقاً على المساعدة!
<<>>