تفاضل روزهای مانده دو تاریخ در سی شارپ #C

روش اول

چگونه می توانم کل روزها را به صورت 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)

 

آیا این نوشته برای شما مفید بود ؟

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *