روش اول
چگونه می توانم کل روزها را به صورت int بین دو تاریخ DateTime.Now و DateTime خاص بدست بیاوریم ؟ پاسخ شما در قطعه کد زیر است .
ابتدا دو تاریخ را بدست آورده و فرمت آنها را مشخص می کنیم سپس با استفاده از تابع math روزهای باقیمانده بدست خواهد آمد .
قطعه کدی که در زیر مشاهده می کنید توسط برنامه کامپایلر به جهت تست آزمایش شده و خروجی صحیح مدنظر را بدست آورد.
DateTime d1 = DateTime.ParseExact(date1, "yyyy-MM-dd", CultureInfo.InvariantCulture); DateTime d2 = DateTime.ParseExact(date2, "yyyy-MM-dd", CultureInfo.InvariantCulture); TimeSpan ts = d2 - d1; var numberOfDays = Math.Abs(ts.Days);
روش دوم
برای حذف کسری که در اثر ساعت / دقیقه / ثانیه ایجاد شده ، شماره ها روند می شوند تا تغییر دقیق را بدست آورید.
TimeSpan diff = DateTime.Now - OtherDateTime int days = (int)Math.Abs(Math.Round(diff.TotalDays));
روش سوم
در صورتی که می خواهید از این قطعه کد استفاده کنید روش اول برای شما مناسبت تر است . (بنظر می آید این قطعه کد بلااستفاده است )
DateTime d1 = DateTime.Parse(maty); var numberOfDays = (d2 - d1).TotalDays;
روش چهارم
bool withinTwoDays = (DateTime.Today - ShippedDate?.Date)?.Days <= 2;
روش پنجم
if (ShippedDate.HasValue && (DateTime.Now - new DateTime(ShippedDate.Value.Year, ShippedDate.Value.Month, ShippedDate.Value.Day, 23,59,59)).TotalDays <= 2)