[英]DateTime Compare in c#
我想比較兩個dateTime。
例如:
date1 = 13/01/2004 12:20:00
date2 = 13/01/2004 12:35:00
result = Compare(date2-date1);
O/P : 15 Minutes
要進行比較,您只需使用<
operator: date1 < date2
。
如果要與給定的分辨率進行比較,請嘗試date1.TotalMinutes == date2.TotalMinutes
(比較同一分鍾)。
如果您想知道差異是否在特定時間范圍內,請使用以下命令:
System.TimeSpan dt = date2.Subtract(date1);
if (dt.TotalMinutes < 15) //...
試試這個:
TimeSpan diff = date2.Subtract(date1);
怎么樣
if (date1 < date2)
{
// date1 is before date2
}
您可以使用
double minutes = d2.Subtract(d1).TotalMinutes;
以分鍾為單位獲得總差異。
我不完全明白你在問什么。
如果你想在C#中表達你的偽代碼,你就去...
//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);
編輯:我現在看到你想要得到兩個日期之間的時差。 為此,您使用TimeSpan類。
現在這是最好的選擇。
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
用Larry Wall的話說,有不止一種方法可以做到這一點。 如果您要查找特定時間間隔內比較的-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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.