.NET имеет константу для числа секунд за день (86400)?
Если вы хотите получать удобочитаемость, вы можете использовать:
(new TimeSpan(1,0,0,0)).TotalSeconds
, хотя просто используя свой собственный const, может быть более понятным :)
Количество секунд в регулярный день составляет 86400. Но дни, когда изменения DST происходят, могут быть короче или дольше.
Тем не менее, написание 24 * 60 * 60 - это не плохая практика вообще, и, скорее всего, будет включена компилятором тоже!
так много усилий, чтобы не определить Const на 60 х 60 х 24;)
Это не постоянное, Количество секунд в день варьируется в зависимости от дня и часовой пояс. Таким образом, это не то, что Microsoft может предложить.
Ближайшие ваши собираются получать W / O Указавших вас:
System.TimeSpan.TicksPerDay / System.TimeSpan.TicksPerSecond
Вы можете даже обернуть это как метод расширения ...
public static Extensions
{
public static int SecondsPerDay( this System.TimeSpan ts )
{
return System.TimeSpan.TicksPerDay / System.TimeSpan.TicksPerSecond
}
}
Похоже, вы можете использовать Google Guice 2,0 с Android. Также можно просмотреть roboguice .
Изменить:
Весна также доступна для Android
Изменить: Теперь Roboguice устарел. Вы можете попробовать Зубочистку , как упомянуто в комментариях разработчика за Зубочисткой.
-121--1265545-Превосходный код Martijn, но только одна деталь u должна проверять пустые или пустые ячейки:)
if (!_customComparisons.TryGetValue(prop.Name, out comparison))
{
// Check to see if the property type we are sorting by implements
// the IComparable interface.
Type interfaceType = prop.PropertyType.GetInterface("IComparable");
if (interfaceType != null)
{
comparison = delegate(T t1, T t2)
{
IComparable val1 = (IComparable)prop.GetValue(t1) ?? "";
IComparable val2 = (IComparable)prop.GetValue(t2) ?? "";
return val1.CompareTo(val2);
};
}
else
{
// Last option: convert to string and compare.
comparison = delegate(T t1, T t2)
{
string val1 = (prop.GetValue(t1) ?? "").ToString();
string val2 = (prop.GetValue(t2) ?? "").ToString();
return val1.CompareTo(val2);
};
}
}
Вот и все удача
-121--4572486-Фактически он доступен в .Рамка. Вы можете добраться до него так:
using System;
using System.Reflection;
public static class DateTimeHelpers {
public static int GetSecondsPerDay() {
object obj = typeof(DateTime).GetField("MillisPerDay", BindingFlags.NonPublic | BindingFlags.Static).GetValue(null);
return (int)obj / 1000;
}
}
Пожалуйста, не используйте это.