2011-08-30 7 views
1

私はタイムスタンプエントリに沿ってデータが格納されるデータベースを持っています。それはキーです。24時間のタイムスタンプを作成する機能はありますか? c#

DateTime.Nowのような日付を今日の例では8月30日00:00:00hから8月30日23:59:59を表すタイムスタンプ間隔に変換できる関数が必要です。

どうすればその関数を書くことができますか?タイムスタンプはaとbの間にあるところ

何私がしたいことは

ような何かをすることですが、テーブルからすべてを選択します。(これらのaとbの値は、その日のための初期と端末のタイムスタンプを表します。)

I dbを作成していない、私はそれを変更することはできません、私はそれをクエリすることができます。

+0

MSDNを参照してください:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx – jgauffin

+0

[DateTime.Today、DateTime.Today.AddDays(1).AddMilliseconds(-1)]を使用してください – Zruty

+1

ちょっと残念ですが、キーのタイムスタンプを使用することは非常に悪い考えです。 – Dyppl

答えて

0

これは、あなたはおそらくしたい間隔を表すタプルを返します。

Tuple<DateTime,DateTime> GetDateInterval(DateTime datetime) { 
    var start = datetime.Date; 
    var end = start.AddDays(1).AddTicks(-1); 
    return new Tuple<DateTime, DateTime>(start, end); 
} 

使用法:

var interval = GetDateInterval(DateTime.Now); 
Console.WriteLine(interval.Item1); 
Console.WriteLine(interval.Item2); 

出力:

30.08.2011 0:00:00 
30.08.2011 23:59:59 
0

DateTime.Now.TimeOfDay.Ticksがお探しのものです。

0

あなたが欲しいものを伝えるのは難しいが、ここでは間隔を取得する方法である:

var start = DateTime.Today; 
var end = start.AddDays(1).AddSeconds(-1); 

あなたがについて十分な詳細情報を提供していないので、あなたがDBに値を格納する必要がありますどのように答えるのは難しいですテーブルのレイアウト

+1

' .AddTicks(-1) 'を使用します。 – CodesInChaos

0

私はあなたが構造などを使用してみてください推測a TimeInterval:

public struct TimeInterval 
{ 
    private readonly DateTime _startTime; 
    private readonly DateTime _endTime; 

    public DateTime StartTime { get { return _startTime; } } 
    public DateTime EndTime { get { return _endTime; } } 

    public TimeInterval(DateTime now) 
    { 
     _startTime = now.Date; 
     _endTime = now.Date.AddDays(1).AddTicks(-1); 
    } 
} 

あなたはそれを呼び出すことができます:あなたが一日のスコープを持っている場合は

TimeInterval day = new TimeInterval(DateTime.Now); 
0

、あなたは一日withingティックを計算することができます。

// ---------------------------------------------------------------------- 
public long GetTicksOfDay(DateTime moment) 
{ 
    return moment.Subtract(moment.Date).Ticks; 
} // GetTicksOfDay 
0

私はあなたがTimeSpanで必要なものだと思います。

DateTimeを別のDateTimeから差し引くことができます。その結果は、その差のTimeSpanになります。

+0

しかし、結果は2つの日付の間に違いがあります。これは24時間前に知られているので、この機能は役に立たなくなります – Dyppl

関連する問題