.NET, постоянная для числа секунд за день?

.NET имеет константу для числа секунд за день (86400)?

6
задан Joe Doyle 30 April 2012 в 00:50
поделиться

7 ответов

Если вы хотите получать удобочитаемость, вы можете использовать:

(new TimeSpan(1,0,0,0)).TotalSeconds

, хотя просто используя свой собственный const, может быть более понятным :)

7
ответ дан 8 December 2019 в 02:07
поделиться

Это не постоянное значение

http://en.wikipedia.org/wiki/Leap_second

21
ответ дан 8 December 2019 в 02:07
поделиться

Количество секунд в регулярный день составляет 86400. Но дни, когда изменения DST происходят, могут быть короче или дольше.

Тем не менее, написание 24 * 60 * 60 - это не плохая практика вообще, и, скорее всего, будет включена компилятором тоже!

5
ответ дан 8 December 2019 в 02:07
поделиться

так много усилий, чтобы не определить Const на 60 х 60 х 24;)

4
ответ дан 8 December 2019 в 02:07
поделиться

Это не постоянное, Количество секунд в день варьируется в зависимости от дня и часовой пояс. Таким образом, это не то, что Microsoft может предложить.

3
ответ дан 8 December 2019 в 02:07
поделиться

Ближайшие ваши собираются получать 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
   }
}
3
ответ дан 8 December 2019 в 02:07
поделиться

Похоже, вы можете использовать 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;
  }
}

Пожалуйста, не используйте это.

2
ответ дан 8 December 2019 в 02:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: