Может кто-нибудь, пожалуйста, помогите мне сделать эту работу?Расчет времени между двумя датами?
Я хочу, чтобы вычислить время между двумя датами в VB.NET, как это:
startdate: 2011/12/30
enddate: 2011/12/31
Вычислить: час? минут? секунды
Может кто-нибудь, пожалуйста, помогите мне сделать эту работу?Расчет времени между двумя датами?
Я хочу, чтобы вычислить время между двумя датами в VB.NET, как это:
startdate: 2011/12/30
enddate: 2011/12/31
Вычислить: час? минут? секунды
вы можете попробовать этот
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)
Когда вы вычитаете 2 DateTime
s, вы получаете структуру TimeSpan
, которая имеет все эти свойства для вас.
на основе вопроса, расчет времени между двумя датами, лучше использовать 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
хороший .. Большое спасибо ... –
Для тех, кто использует это, имейте в виду, что span.Seconds НЕ вернет общую разницу во времени в секундах, а скорее разницу в секундах компонентов (до 59 макс). Чтобы вернуть общую разницу, используйте span.TotalSeconds, span.TotalMinutes и т. Д. – http203
Это не код VB.net, это C#. – cybermonkey