দুই বারের মধ্যে সেকেন্ডে পার্থক্য পরীক্ষা করুন


106

হাই সব মিলিয়ে আমি বর্তমানে এমন একটি প্রকল্পে কাজ করছি যেখানে যখন কোনও নির্দিষ্ট ইভেন্ট ঘটে যায় সেই ইভেন্টটি সম্পর্কিত সময় সহ তালিকার অ্যারেতে যুক্ত হয়।

একবার পদ্ধতিটি শেষ হয়ে গেলে আমি তারপরে তালিকায় একটি অন্য পদ্ধতিতে প্রবেশ করি যা এর মানগুলি পরীক্ষা করে। লুপটি পার হওয়ার আগে আমি আমার পিসির বর্তমান সময়টি যাচাই করে নেব এবং তালিকার অ্যারেতে সংরক্ষিত সময়ের সাথে বর্তমান সময়টি 5 সেকেন্ডের চেয়ে বেশি কিনা তা যাচাই করতে হবে।

আমি কীভাবে এটি করতে যাব।

উত্তর:


275

ধরে নেওয়া যাক dateTime1এবং dateTime2হয় DateTimeমান:

var diffInSeconds = (dateTime1 - dateTime2).TotalSeconds;

আপনার ক্ষেত্রে, আপনি DateTime.Nowমানগুলির মধ্যে একটি হিসাবে এবং তালিকার সময়টিকে অন্য হিসাবে ব্যবহার করবেন। অর্ডার সম্পর্কে সতর্ক থাকুন, ফলাফলটি যদি এর dateTime1চেয়ে বেশি হয় তবে negativeণাত্মক হতে পারে dateTime2।


4
ধন্যবাদ, যাইহোক
— লোডারন

4
ধন্যবাদ ... আমি ভুল করে (মিলিসেকেন্ডস) ব্যবহার করেই কামড়েছি যখন আমার সত্যিই (টোটালমিলিসেকেন্ডস) ব্যবহার করা উচিত ... আউট।
— অ্যান্ড্রু পেট


15

এই সংস্করণটি সর্বদা সেকেন্ডের পার্থক্যের সংখ্যাকে ধনাত্মক সংখ্যা হিসাবে প্রদান করে (@ ফ্রিডেভোল্পারের সমাধান হিসাবে একই ফলাফল):

var seconds = System.Math.Abs((date1 - date2).TotalSeconds);

4

নেতিবাচক ব্যবধান এড়াতে আমি এটি ব্যবহার করি।

var seconds = (date1< date2)? (date2- date1).TotalSeconds: (date1 - date2).TotalSeconds;

4
Math.Absপরিবর্তে ব্যবহার করুন, এই কোডটি উপরের উত্তরটি ব্যবহার না করে কম পঠনযোগ্য এবং পারফরম্যান্ট।
— প্রোগ্রামফাস্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.