আমার এমন একটি ফাংশন দরকার যা নীচের দুটি তারিখের মধ্যে পার্থক্য 24 হিসাবে ফিরিয়ে দিতে পারে।
DateTime a = new DateTime(2008, 01, 02, 06, 30, 00);
DateTime b = new DateTime(2008, 01, 03, 06, 30, 00);
উত্তর:
নিম্নলিখিত চেষ্টা করুন
double hours = (b-a).TotalHours;
আপনি যদি কেবল দিনের পার্থক্য বাদ দিয়ে ঘন্টার পার্থক্য চান তবে নিম্নলিখিতগুলি ব্যবহার করতে পারেন
int hours = (b-a).Hours;
এই দুটি বৈশিষ্ট্যের মধ্যে পার্থক্যটি প্রধানত তখন দেখা হয় যখন সময়ের পার্থক্যটি 1 দিনের বেশি হয়। আওয়ার্সের সম্পত্তিটি কেবলমাত্র দুটি তারিখের মধ্যে প্রকৃত সময়ের পার্থক্যের প্রতিবেদন করবে। সুতরাং যদি দুটি তারিখ 100 বছর দ্বারা পৃথক হয় তবে দিনের একই সময়ে ঘটে, তবে ঘন্টাগুলি 0 ফিরে আসবে Total তবে টোটালহর্স দুটি তারিখের মধ্যে ঘটে যাওয়া মোট পরিমাণের ঘন্টার মধ্যে এই পার্থক্যটি ফিরিয়ে দেবে (এই ক্ষেত্রে 876,000 ঘন্টা)।
অন্যান্য পার্থক্য হ'ল টোটাল ঘন্টাগুলি ভগ্নাংশের সময়গুলি ফিরিয়ে দেবে। এটি আপনি যা চান তা হতে পারে বা নাও পারে। যদি তা না হয় তবে ম্যাথ.রাউন্ড এটিকে আপনার পছন্দ অনুসারে সামঞ্জস্য করতে পারে।
আপনি সম্ভবত খুঁজছেন:
int Difference = (a-b).Hours;
সময়ের সাথে পার্থক্য বি / ডাব্লু সময় এই পদ্ধতিটি ব্যবহার করে দেখানো হবে।
private void HoursCalculator()
{
var t1 = txtfromtime.Text.Trim();
var t2 = txttotime.Text.Trim();
var Fromtime = t1.Substring(6);
var Totime = t2.Substring(6);
if (Fromtime == "M")
{
Fromtime = t1.Substring(5);
}
if (Totime == "M")
{
Totime = t2.Substring(5);
}
if (Fromtime=="PM" && Totime=="AM" )
{
var dt1 = DateTime.Parse("1900-01-01 " + txtfromtime.Text.Trim());
var dt2 = DateTime.Parse("1900-01-02 " + txttotime.Text.Trim());
var t = dt1.Subtract(dt2);
//int temp = Convert.ToInt32(t.Hours);
//temp = temp / 2;
lblHours.Text =t.Hours.ToString() + ":" + t.Minutes.ToString();
}
else if (Fromtime == "AM" && Totime == "PM")
{
var dt1 = DateTime.Parse("1900-01-01 " + txtfromtime.Text.Trim());
var dt2 = DateTime.Parse("1900-01-01 " + txttotime.Text.Trim());
TimeSpan t = (dt2.Subtract(dt1));
lblHours.Text = t.Hours.ToString() + ":" + t.Minutes.ToString();
}
else
{
var dt1 = DateTime.Parse("1900-01-01 " + txtfromtime.Text.Trim());
var dt2 = DateTime.Parse("1900-01-01 " + txttotime.Text.Trim());
TimeSpan t = (dt2.Subtract(dt1));
lblHours.Text = t.Hours.ToString() + ":" + t.Minutes.ToString();
}
}
আপনার ফিল্ড আইডি ব্যবহার করুন
var t1 4:00 এএম এর মান ক্যাপচার করে
এই কোডটি চেক করুন কারও পক্ষে সহায়ক হতে পারে।