به دست آوردن اختلاف دو تاریخ شمسی
برای به دست آوردن اختلاف دو تاریخ شمسی توصیه می کنیم که از کامپوننت کار با تاریخ شمسی behcomponent که دارای متدهای مختلفی برای کار با تاریخ شمسی است استفاده کنید. یک برنامه ویندوزی ایجاد کرده و کامپوننت مذکور را به آن اضافه کنید. در قسمت فضاهای نام کد زیر را وارد کنید :
using BehComponents;
دو کنترل maskedTextBox، یک کنترل دکمه و یک Label بر روی فرم قرار دهید و سپس در رویداد کلیک دکمه کد زیر را بنویسید :
using System; using System.Windows.Forms; using BehComponents; namespace DifferenceBetweenTwoPersianDate { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { string[] PersianDate1 = this.maskedTextBox1.Text.Split('/'); string[] PersianDate2 = this.maskedTextBox2.Text.Split('/'); PersianDateTime date1 = new PersianDateTime(Convert.ToInt32(PersianDate1[0]), Convert.ToInt32(PersianDate1[1]), Convert.ToInt32(PersianDate1[2])); PersianDateTime date2 = new PersianDateTime(Convert.ToInt32(PersianDate2[0]), Convert.ToInt32(PersianDate2[1]), Convert.ToInt32(PersianDate2[2])); TimeSpan different = date2.Subtract(date1); string result = string.Format("{0} days , {1} Hours, {2} minutes, {3} seconds", different.Days.ToString(), different.Hours.ToString(), different.Minutes.ToString(), different.Seconds.ToString()); this.label3.Text = result; } } }
خروجی
من خودم این تابع را نوشتم:
من خودم فعلا این متد به نظرم اومد. اگه کسی راه بهتری به نظرش میاد که مثلا از خود توابع C# استفاده کنیم لطفا بگه؛ مثل توابعی که برای سال کبیسه بودن و نبودن هست و تفاضل دو تاریخ به روز که خودش کبیسه بودن و نبودن را هم در نظر می گیره و خیالمون راحته که همیشه درست جواب برمی گردونه.
ممنون
سلام، ممنون میشم سوالتونو تو بخش پرسش و پاسخ مطرح بفرمایید
سلام
timespan، سال نداره؛ میخوام سن شخص را بر اساس سال تولد مثلا “1364/03/27” برگردونه. ممنون