में तुलना करें मैं दो दिनांक समय की तुलना करना चाहता हूं।डेटटाइम सी #
पूर्व:
date1 = 13/01/2004 12:20:00
date2 = 13/01/2004 12:35:00
result = Compare(date2-date1);
O/P : 15 Minutes
में तुलना करें मैं दो दिनांक समय की तुलना करना चाहता हूं।डेटटाइम सी #
पूर्व:
date1 = 13/01/2004 12:20:00
date2 = 13/01/2004 12:35:00
result = Compare(date2-date1);
O/P : 15 Minutes
इस प्रयास करें:
TimeSpan diff = date2.Subtract(date1);
कैसे
के बारे मेंif (date1 < date2)
{
// date1 is before date2
}
तुलना करने के लिए, तो आप बस <
ऑपरेटर का उपयोग कर सकते हैं: date1 < date2
।
यदि आप किसी दिए गए प्रस्ताव के साथ तुलना करना चाहते हैं, तो date1.TotalMinutes == date2.TotalMinutes
(यह एक ही मिनट के लिए तुलना की गई) का प्रयास करें।
आप अगर अंतर एक निश्चित समय अवधि के भीतर है जानना चाहते हैं, इस का उपयोग करें:
System.TimeSpan dt = date2.Subtract(date1);
if (dt.TotalMinutes < 15) //...
आप
double minutes = d2.Subtract(d1).TotalMinutes;
उपयोग कर सकते हैं मिनट में कुल अंतर पाने के लिए।
मैं पूरी तरह से समझ नहीं पा रहा हूं कि आप क्या पूछ रहे हैं।
आप अपने छद्म कोड सी # ये रहा में व्यक्त करना चाहते हैं ...
//date1 = 13/01/2004 12:20:00
DateTime dateTime1 = new DateTime(2004, 01, 13, 12, 20, 0);
//date2 = 13/01/2004 12:35:00
DateTime dateTime2 = new DateTime(2004, 01, 13, 12, 35, 0);
//get the time difference - result = Compare(date2-date1);
TimeSpan result = dateTime2 - dateTime1;
//output is 15
Console.WriteLine(result.TotalMinutes);
कैसे के बारे में:
Timespan ts = date2 - date1;
Console.WriteLine("Value of Minutes = ", ts.Minutes);
DateTime date1 = DateTime.Now;
DateTime date2 = DateTime.Now;
var x = date1.CompareTo(date2);
संपादित करें: मैं अब देखते हैं कि आप प्राप्त करना चाहता था दो तिथियों के बीच का समय अंतर। इसके लिए आप टाइमस्पेन क्लास का उपयोग करते हैं।
अब यह सबसे अच्छा शर्त है।
using System;
public class Example
{
public static void Main()
{
DateTime date1 = new DateTime(2009, 8, 1, 0, 0, 0);
DateTime date2 = new DateTime(2009, 8, 1, 12, 0, 0);
int result = DateTime.Compare(date1, date2);
string relationship;
if (result < 0)
relationship = "is earlier than";
else if (result == 0)
relationship = "is the same time as";
else
relationship = "is later than";
Console.WriteLine("{0} {1} {2}", date1, relationship, date2);
}
}
// The example displays the following output:
// 8/1/2009 12:00:00 AM is earlier than 8/1/2009 12:00:00 PM
लैरी वॉल के शब्दों में ऐसा करने के एक से अधिक तरीके हैं। यदि आप एक निश्चित समय अंतराल के भीतर तुलना के -1, 0, +1 परिणाम की तलाश में हैं, तो इन प्रकारों में से एक को आजमाएं;
internal static int XDateCompare(DateTime date, DateTime other, int ticks)
{
var diff = date.Ticks - other.Ticks;
var result = Math.Abs(diff) <= ticks ? 0
: diff <= 0 ? -1
: 1;
Console.WriteLine("{0}\t{1}\t{2}\ts={3} milSec={4}", diff, other, result, ticks, date.Subtract(other).Duration().TotalMilliseconds);
return result;
}
internal static int XDateCompare(DateTime date, DateTime other, double milliseconds)
{
double diff =
date.Subtract(other)
.TotalMilliseconds;
var result = Math.Abs(diff) <= milliseconds ? 0
: diff <= 0 ? -1
: 1;
Console.WriteLine("result {0} diff {1} vs ms {2}", result, diff, milliseconds);
return result;
}
क्या टाइमस्पेन हमेशा सकारात्मक है? तो: दिनांक 2.Subtract (date1) बराबर है: दिनांक 1.Subtract (date2) ??? – Michiel
@ मिचिल, नहीं, परिणाम अलग होगा, एक सकारात्मक संख्या (+15 मिनट, +0.25 घंटे, +900000 टिक) है और दूसरा नकारात्मक है (-15 मिनट, -0.25 घंटे, -900000 टिक) – Artru