C#-এ দুটি DateTime অবজেক্টের পার্থক্য বের করতে বিয়োগ অপারেটর (-) ব্যবহার করে TimeSpan প্রাপ্য করা হয়। তারপর Days, TotalDays ইত্যাদি প্রোপার্টি ব্যবহার করা যায়।
বেসিক কমপেরিজন
DateTime date1 = new DateTime(2018, 9, 15);
DateTime date2 = new DateTime(2018, 9, 28);
if (date1 < date2)
Console.WriteLine($"{date1:d} comes before {date2:d}");
TimeSpan দিয়ে পার্থক্য বের করা
TimeSpan diff = date2 - date1;
Console.WriteLine($"Days difference: {diff.Days}"); // পূর্ণ দিন
Console.WriteLine($"Total days: {diff.TotalDays}"); // ভাঙনো দিন
Console.WriteLine($"Hours: {diff.TotalHours}");
Console.WriteLine($"Minutes: {diff.TotalMinutes}");
সম্পূর্ণ উদাহরণ
using System;
class DateDifferenceDemo
{
static void Main()
{
DateTime date1 = new DateTime(2018, 9, 15);
DateTime date2 = new DateTime(2018, 9, 28);
Console.WriteLine($"Date 1: {date1:d}");
Console.WriteLine($"Date 2: {date2:d}");
// কমপেরিজন
if (date1 < date2)
Console.WriteLine($"{date1:d} comes before {date2:d}");
else if (date1 > date2)
Console.WriteLine($"{date1:d} comes after {date2:d}");
else
Console.WriteLine("Dates are equal");
// পার্থক্য
TimeSpan diff = date2 - date1;
Console.WriteLine($"\nTimeSpan: {diff}");
Console.WriteLine($"Days: {diff.Days}");
Console.WriteLine($"Total Hours: {diff.TotalHours}");
Console.WriteLine($"Total Minutes: {diff.TotalMinutes}");
}
}
আউটপুট
Date 1: 9/15/2018
Date 2: 9/28/2018
9/15/2018 comes before 9/28/2018
TimeSpan: 13.00:00:00
Days: 13
Total Hours: 312
Total Minutes: 18720
গুরুত্বপূর্ণ পার্থক্য
| প্রোপার্টি | বিবরণ |
|---|---|
Days | পূর্ণ দিন (int) |
TotalDays | মোট দিন (double, ভাঙনো সহ) |
Hours | ঘন্টার অংশ (0-23) |
TotalHours | মোট ঘন্টা (double) |
বিজনেস ডে ক্যালকুলেশন (উইকএন্ড বাদ দিয়ে)
int BusinessDays(DateTime start, DateTime end)
{
int count = 0;
for (var d = start; d <= end; d = d.AddDays(1))
if (d.DayOfWeek != DayOfWeek.Saturday && d.DayOfWeek != DayOfWeek.Sunday)
count++;
return count;
}