2011-12-31 5 views

ответ

15

вы можете попробовать этот

DateTime startTime = DateTime.Now; 

DateTime endTime = DateTime.Now.AddSeconds(75); 

TimeSpan span = endTime.Subtract (startTime); 
Console.WriteLine("Time Difference (seconds): " + span.Seconds); 
Console.WriteLine("Time Difference (minutes): " + span.Minutes); 
Console.WriteLine("Time Difference (hours): " + span.Hours); 
Console.WriteLine("Time Difference (days): " + span.Days); 

вывод, как,

Time Difference (seconds): 15 
Time Difference (minutes): 1 
Time Difference (hours): 0 
Time Difference (days): 0 

и эквивалент VB.Net к выше:

Dim startTime As DateTime = DateTime.Now 

Dim endTime As DateTime = DateTime.Now.AddSeconds(75) 

Dim span As TimeSpan = endTime.Subtract(startTime) 
Console.WriteLine("Time Difference (seconds): " + span.Seconds) 
Console.WriteLine("Time Difference (minutes): " + span.Minutes) 
Console.WriteLine("Time Difference (hours): " + span.Hours) 
Console.WriteLine("Time Difference (days): " + span.Days) 
+0

хороший .. Большое спасибо ... –

+4

Для тех, кто использует это, имейте в виду, что span.Seconds НЕ вернет общую разницу во времени в секундах, а скорее разницу в секундах компонентов (до 59 макс). Чтобы вернуть общую разницу, используйте span.TotalSeconds, span.TotalMinutes и т. Д. – http203

+0

Это не код VB.net, это C#. – cybermonkey

5

Когда вы вычитаете 2 DateTime s, вы получаете структуру TimeSpan, которая имеет все эти свойства для вас.

3

на основе вопроса, расчет времени между двумя датами, лучше использовать DateDiff. На приведенном ниже примере, мы можем заменить Час с минуты, секунды, месяц, и т.д .:

Dim timeDif As Long = DateDiff(DateInterval.Hour, startDate, endDate) 

Использование TimeSpan возвращает разницу во времени исключал дневной цикл, см ниже код:

Dim startDate As Date = Date.Now 
Dim endDate As Date = startDate.AddDays(3) 'add 3 days to startDate 
Dim timeSpan As TimeSpan = endDate.Subtract(startDate) 
Dim difDays As Integer = timeSpan.Days 'get 3 days 
Dim difHr As Integer = timeSpan.Hours 'get 0 hours although 3 days difference 
Dim difMin As Integer = timeSpan.Minutes 'get 0 minutes although 3 days difference 
Смежные вопросы