C# में जन्म तिथि के आधार पर व्यक्ति की आयु की गणना कैसे करें?
सभी को नमस्कार! मैं एक शुरुआती C# डेवलपर हूँ और एक सरल लगने वाली समस्या का सामना किया — उपयोगकर्ता की जन्म तिथि के आधार पर उसकी आयु की गणना करना। मेरे पास एक वेरिएबल `DateTime birthday` है (उदाहरण के लिए, `new DateTime(1990, 5, 15)`), और मुझे आज की तारीख तक पूर्ण वर्षों की संख्या एक पूर्णांक के रूप में प्राप्त करनी है।
मैंने सबसे स्पष्ट तरीका आज़माया — वर्तमान तिथि से जन्म तिथि घटाकर वर्षों में अंतर लिया:
```csharp
DateTime today = DateTime.Today;
int age = today.Year - birthday.Year;
```
लेकिन यह सही ढंग से काम नहीं करता! यदि इस वर्ष व्यक्ति का जन्मदिन अभी नहीं आया है, तो आयु 1 वर्ष अधिक हो जाती है। उदाहरण के लिए, यदि आज 1 जनवरी 2025 है और जन्मदिन 15 मई 1990 है, तो मेरा कोड 35 वर्ष देगा, जबकि वास्तव में व्यक्ति अभी 34 वर्ष का है।
मैंने `TimeSpan` का उपयोग करने का भी प्रयास किया:
```csharp
TimeSpan difference = today - birthday;
int age = (int)(difference.TotalDays / 365.25);
```
लेकिन यह लीप वर्ष और राउंडिंग के कारण गलत परिणाम देता है। कृपया बताएं कि सही तरीका क्या है।