Старый вопрос без решения data.table
. Итак, здесь идет ...
Используя .N
library(data.table)
DT <- data.table(df)
DT[, .N, by = list(year, month)]
Попробуйте
DateTime startTime = varValue
DateTime endTime = varTime
TimeSpan span = endTime.Subtract ( startTime );
Console.WriteLine( "Time Difference (minutes): " + span.TotalMinutes );
В коде quesion вы неправильно используете TimeSpan.FromMinutes
. См. Документацию MSDN для TimeSpan.FromMinutes, которая дает следующую сигнатуру метода:
public static TimeSpan FromMinutes(double value)
, поэтому следующий код не будет компилировать
var intMinutes = TimeSpan.FromMinutes(varTime); // won't compile
Вместо этого вы можете использовать свойство TimeSpan.TotalMinutes для выполнения этой арифметики. Например:
TimeSpan varTime = (DateTime)varFinish - (DateTime)varValue;
double fractionalMinutes = varTime.TotalMinutes;
int wholeMinutes = (int)fractionalMinutes;
Если разница между endTime и startTime больше или равна 60 минутам, инструкция: endTime.Subtract(startTime).Minutes;
всегда будет возвращать (minutesDifference % 60)
. Очевидно, что это нежелательно, когда мы говорим только о минутах (а не о часах здесь). Вот несколько способов, если вы хотите получить total number of minutes
(в разных типах):
// Default value that is returned is of type *double*
double double_minutes = endTime.Subtract(startTime).TotalMinutes;
int integer_minutes = (int)endTime.Subtract(startTime).TotalMinutes;
long long_minutes = (long)endTime.Subtract(startTime).TotalMinutes;
string string_minutes = (string)endTime.Subtract(startTime).TotalMinutes;
double minutes = varTime.TotalMinutes;
int minutesRounded = (int)Math.Round(varTime.TotalMinutes);
TimeSpan.TotalMinutes : общее количество минут, представленных этим экземпляром.
TotalMinutes()
? – Jim 31 January 2017 в 17:27span.Minutes
возвращает число [0..59]. Вместо этого используйтеspan.TotalMinutes
– Sten Petrov 1 February 2017 в 06:16