উত্তর:
নিম্নলিখিত উদাহরণটি দেখায় যে এটি কীভাবে করা যায়:
DateTime a = new DateTime(2010, 05, 12, 13, 15, 00);
DateTime b = new DateTime(2010, 05, 12, 13, 45, 00);
Console.WriteLine(b.Subtract(a).TotalMinutes);
যখন এই প্রিন্টগুলি কার্যকর করা হয় তখন তারিখ / সময়গুলির মধ্যে 30 মিনিটের পার্থক্য রয়েছে।
এর ফলাফলটি DateTime.Subtract(DateTime x)
একটি টাইমস্প্যান অবজেক্ট যা অন্যান্য দরকারী বৈশিষ্ট্য দেয়।
TotalMinutes
! (না Minutes
)
আপনি TimeSpan
কাঠামো চান :
TimeSpan diff = dateTime1 - dateTime2;
একটি টাইমস্প্যান অবজেক্ট একটি সময় বিরতি (সময় বা অতিবাহিত সময়কাল) উপস্থাপন করে যা দিন, ঘন্টা, মিনিট, সেকেন্ড এবং সেকেন্ডের ভগ্নাংশের ধনাত্মক বা নেতিবাচক সংখ্যা হিসাবে পরিমাপ করা হয়। টাইমস্প্যান কাঠামোটি দিনের সময়ের প্রতিনিধিত্ব করতেও ব্যবহৃত হতে পারে তবে সময়টি নির্দিষ্ট তারিখের সাথে সম্পর্কিত না হলেই হয়।
এই কাঠামো থেকে দিন, ঘন্টা, মিনিট, সেকেন্ড এবং মিলিসেকেন্ড ফিরে পাওয়ার জন্য বিভিন্ন পদ্ধতি রয়েছে।
আপনি যদি কেবলমাত্র পার্থক্যে আগ্রহী হন:
TimeSpan diff = Math.Abs(dateTime1 - dateTime2);
অর্ডার নির্বিশেষে আপনাকে সময়ের মধ্যে ইতিবাচক পার্থক্য দেবে।
আপনি যদি কেবল সময়ের উপাদানটি পেয়ে থাকেন তবে সময়গুলি মধ্যরাতের মধ্যে বিভক্ত হতে পারে তবে প্রকৃত পার্থক্য পেতে আপনাকে স্প্যানটিতে 24 ঘন্টা যোগ করতে হবে:
TimeSpan diff = dateTime1 - dateTime2;
if (diff < 0)
{
diff = diff + TimeSpan.FromDays(1);
}
আপনার যা প্রয়োজন তা হ'ল ডেটটাইম ক্লাসগুলি সাবট্র্যাক্ট পদ্ধতিটি ব্যবহার করুন যা একটি টাইমস্প্যান রিটার্ন করে ।
var dateOne = DateTime.Now;
var dateTwo = DateTime.Now.AddMinutes(-5);
var diff = dateTwo.Subtract(dateOne);
var res = String.Format("{0}:{1}:{2}", diff.Hours,diff.Minutes,diff.Seconds));
যদি সেগুলি উভয়ই ইউটিসি তারিখ-সময় মান হয় তবে আপনি করতে পারেন TimeSpan diff = dateTime1 - dateTime2;
অন্যথায় প্রতিটি সম্ভাব্য ক্ষেত্রে সঠিক উত্তর পাওয়ার সম্ভাবনা শূন্য।
var startDate = new DateTime(2007, 3, 24);
var endDate = new DateTime(2009, 6, 26);
var dateDiff = endDate.Subtract(startDate);
var date = string.Format("{0} years {1} months {2} days", (int)dateDiff.TotalDays / 365,
(int)(dateDiff.TotalDays % 365) / 30, (int)(dateDiff.TotalDays % 365) / 30);
Console.WriteLine(date);
আপনার একটি টাইমস্প্যান ব্যবহার করা দরকার । এখানে কিছু নমুনা কোড রয়েছে:
TimeSpan sincelast = TimeSpan.FromTicks(DateTime.Now.Ticks - LastUpdate.Ticks);
TimeSpan sincelast = DateTime.Now - LastUpdate;
private void button1_Click(object sender, EventArgs e)
{
TimeSpan timespan;
timespan = dateTimePicker2.Value - dateTimePicker1.Value;
int timeDifference = timespan.Days;
MessageBox.Show(timeDifference.ToString());
}
দুটি ডেটটাইম অবজেক্টের মধ্যে পার্থক্য অর্জন করতে আপনি নিম্নলিখিত পদ্ধতিতে ব্যবহার করতে পারেন। ধরা যাক ডেটটাইম অবজেক্টগুলি ডিটি 1 এবং ডিটি 2 আছে তারপরে কোডটি রয়েছে।
TimeSpan diff = dt2.Subtract(dt1);
Console.WriteLine((a - b).ToString(@"hh\:mm\:ss"))
। দেখুন: এমএসডিএন কাস্টম টাইমস্প্যান ফর্ম্যাট