c# - गणन - रिक्ता तिथि में वर्जित कार्य




दो तिथियों के बीच अंतर की गणना करें और वर्षों में मूल्य प्राप्त करें? (4)

क्या आप किसी कर्मचारी के लिए वर्षों में उम्र की गणना करना चाहते हैं? फिर आप इस स्निपेट ( C # में गणना आयु से) का उपयोग कर सकते हैं:

DateTime now = DateTime.Today;
int age = now.Year - bday.Year;
if (bday > now.AddYears(-age)) age--;

यदि नहीं, तो कृपया निर्दिष्ट करें। मुझे यह समझने में मुश्किल समय आ रहा है कि आप क्या चाहते हैं।

संभव डुप्लिकेट:
मैं C # में किसी की आयु की गणना कैसे करूं?

मैं मूल रूप से कर्मचारियों की आयु की गणना करना चाहता हूं - इसलिए हमारे पास प्रत्येक कर्मचारी के लिए डीओबी है, इसलिए सी # साइड पर मैं इस तरह का काम करना चाहता हूं -

int age=Convert.Int32(DateTime.Now-DOB);

मैं दिनों का उपयोग कर सकता हूं और हेरफेर कर सकता हूं, फिर आयु प्राप्त कर सकता हूं ... लेकिन मैं जानना चाहता था कि क्या कुछ ऐसा है जिसका उपयोग मैं वर्षों की संख्या प्राप्त करने के लिए सीधे कर सकता हूं।


गणित.गोल (DateTime.Now.Subtract (जन्म तिथि) .TotalDays / 365.0)

जैसा कि बताया गया है, यह काम नहीं करेगा। आपको यह करना होगा:

(Int32)Math.Round((span.TotalDays - (span.TotalDays % 365.0)) / 365.0);

और उस बिंदु पर अन्य समाधान कम जटिल है और बड़े स्पैन पर सटीक होना जारी है।

संपादित 2, कैसे के बारे में:

Math.Floor(DateTime.Now.Subtract(DOB).TotalDays/365.0)

मसीह मैं इन दिनों बुनियादी गणित में चूसना ...


this साइट पर वे हैं:

   public static int CalculateAge(DateTime BirthDate)
   {
        int YearsPassed = DateTime.Now.Year - BirthDate.Year;
        // Are we before the birth date this year? If so subtract one year from the mix
        if (DateTime.Now.Month < BirthDate.Month || (DateTime.Now.Month == BirthDate.Month && DateTime.Now.Day < BirthDate.Day))
        {
            YearsPassed--;
        }
        return YearsPassed;
  }

    private static Int32 CalculateAge(DateTime DOB)
    {
        DateTime temp = DOB;
        Int32 age = 0;
        while ((temp = temp.AddYears(1)) < DateTime.Now)
            age++;
        return age;
    }




timespan