2016-07-25 12 views
0

私はWindowsフォームアプリケーションを開発しており、1秒ごとにリアルタイムデータを含むdatetime折れ線グラフを表示する必要があります。timespanからdatetimeへの変換形式の問題日時チャートを表示する

x軸に時間を(日:時間:分:秒)の形式で表示する必要があります。 00:00:00:00,00:00:00:01、00:00:00:02など

私は最初の応答時間(システム時間)を基準時刻date1として取ります。再び1秒後に、要求を送信し、応答を取得し、システム時間をdate2として取得し、このように継続します。私はdate2とdate1を引いて応答時間を求めています。

日時チャートの場合、x軸はdatetime型変数のみを受け入れ、ToOADate()を使用してdouble型に変換する必要があります。

問題:00:06.2867597日時変数には、2016年7月25日12時00分06秒AMとして変換されるタイムスパン00変換間。しかし、私は00:00:06 の代わりに12:00:06 AMの代わりに、fomatが必要です。

次に、ToOADate()を使用して、正しいdouble値を取得します。 私の問題を解決してください。

DateTime date1 = DateTime.Now; // {7/25/2016 8:13:29 PM} 

DateTime date2 = DateTime.Now; // {7/25/2016 8:13:30 PM} 

TimeSpan time = date2 .Subtract(date1); // {00:00:01.3922821} 

DateTime logTime = Convert.ToDateTime(time.ToString()); // {7/25/2016 12:00:01 AM} 

しかし、私はLOGTIME値が "午前0時00分01秒" である必要があります必要があります。

は、ここに私のコードです。

+1

DateTimeは表示形式を保持しません。文字列表現だけが行います。フォーマットプロバイダを受け入れる 'ToString'オーバーロードを使って、DateTime値を表示します。 –

+1

あなたはtime.ToString()を必要としませんでしたか?あなたはある時刻から別の時刻へのオフセットを表示し、それをDateTimeに変換したくないように思えます。 –

+0

なぜそれをDateTimeに入れますか? –

答えて

0

DateTimeを使用している場合は、システムのDateTime形式として自動的に表示されます。あなたは、24時間対応の文字列としてごlogTimeを表示するには欲望の出力のための文字列として

string logTime = Convert.ToDateTime(time.ToString()).ToString("MM/dd/yyyy HH:mm:ss"); 

をこのようにそれを取るためにあなただけの時間部分をしたい場合は、その後

string logTime = Convert.ToDateTime(time.ToString()).ToString("HH:mm:ss"); 
+0

ToOADate()は、DaeTime値をdoubleに変換します。だから、私は文字列形式を望まない。 –

+0

しかし、あなたは文字列にキャストせずに特定のフォーマットを取得することはできませんが、DateTimeにはシステムフォーマットとして表示されるフォーマットはなく、システムフォーマットを変更するとここに変更されます – Mostafiz

0

を持っている:

logTime.ToString("HH:mm:ss"); 

logTimeのDateTime値自体を00:00:01に変更することはできません。これらの値は同じ値で、表示方法を変更するだけです。

関連する問題