6

.NETには、1日の秒数(86400)の定数がありますか?

4

9 に答える 9

20

一定値ではない

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

于 2010-01-25T23:25:08.880 に答える
9

読みやすさが必要な場合は、次を使用できます。

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

ただし、独自の const を使用する方が明確かもしれません:)

于 2010-01-25T23:23:07.030 に答える
5
double secondsPerDay = TimeSpan.FromDays(1).TotalSeconds;

これは @ckarras からのコメントでした。それを答えとして追加して、より見やすくします。

于 2017-01-06T01:00:31.370 に答える
5

通常の 1 日の秒数は 86400 です。ただし、DST の変更が発生する日は、短くなったり長くなったりする場合があります。

ただし、24*60*60 と書くことはまったく悪い習慣ではなく、コンパイラによってインライン化される可能性が最も高いです。

于 2010-01-25T23:49:48.273 に答える
4

60 x 60 x 24の定数を定義しないための多大な努力;)

于 2010-01-26T01:45:08.170 に答える
4

あなたが所有するものを指定せずに取得する最も近いもの:

System.TimeSpan.TicksPerDay / System.TimeSpan.TicksPerSecond

これを拡張メソッドとしてラップすることもできます...

public static Extensions
{
   public static int SecondsPerDay( this System.TimeSpan ts )
   {
      return   System.TimeSpan.TicksPerDay / System.TimeSpan.TicksPerSecond
   }
}
于 2010-01-25T23:25:27.727 に答える
3

実際には、.NET フレームワークで使用できます。次のように取得できます。

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;
  }
}

使用しないでください。

于 2010-01-26T01:03:41.053 に答える
2

一定ではありません。1 日の秒数は、日と時間帯によって異なります。したがって、Microsoft が提供する可能性が高いものではありません。

于 2010-01-25T23:26:16.617 に答える
0

GaussZの回答よりも読みやすさを少し高めたい場合は、次を使用できます。

TimeSpan.FromDays(1).TotalSeconds
于 2021-04-01T04:50:39.773 に答える