2012-03-15 30 views
9

私はVisual Studio 2010、MVC 3およびC#で作業しています。私はいくつかのハイチャートを作成しており、x軸を日付にする必要があります。私はデータベースから日付を引き出​​し、それらを配列に追加してハイチャートに渡します。ハイチャートでは、日付はミリ秒の形式である必要があります。ホーは、私はミリ秒に例えば日時'12/20/2011年午前5時10分13秒PM」を変換して行くのですか?日付をミリ秒に変換

+0

下に示すように、あなたはその後、[ここ](http://stackoverflow.com/questions/8700823/datetime-あなたが説明するように、Unixエポック形式で 'DateTime'値を必要とするわけでくださいミリ秒に変換することができますunix-epochからのフォーマット)? – Oded

+2

何ミリ秒ですか? –

+4

ミリ秒フォーマットとはどういう意味ですか? Unixエポックからの経過時間(ミリ秒)? 01/01/0001以降? –

答えて

21

ミリ秒単位の計算時間を計算したら、別のDateTimeオブジェクトを取得してTimeSpanオブジェクトを取得することができます。 TimeSpanからTotalMillisecondsを取得できます。言い換えれば

、開始と終了は、DateTimeオブジェクトであれば、あなたがこれを行うことができますが:

double milliseconds = (end - start).TotalMilliseconds; 
+0

私は何ミリ秒を計算したいのかまだよく分かりません。私は、HighChartsにDateTimeオブジェクトを渡すことができないことを知っています。データの場合、Number値のみを受け入れます。私はあなたのソリューションをテストし、それが動作するように見えます。私は受け入れられる答えをいくつか受け取りました。しかし、私はあなたのものが最もクリーンで使いやすいものだと思います。助けてくれてありがとう。 – Linger

1
DateTime[] dates = ; 

var minDate = dates.Min(); 

var msDates = dates.Select(date => (date - minDate).TotalMilliseconds).ToArray(); 
+0

これは私の前提でも、最小基準日が必要です。 – ChaosPandion

11

あなたはDateTime.Ticksプロパティを使用してミリ秒に値を変換することができます。

このプロパティの値は、DateTime.MinValueを表す0001:January 1の午前0時から経過した100ナノ秒の間隔の数を表します。うるう秒。

1ダニは100ナノ秒を表します。 100万分の1秒です。ミリ秒で10,000ダニがあります。

2

.Ticks C#の日時では、あなたのダニの任意の時点の値を与えます。

long dateticks = Datetime.Now.Ticks 
long datemilliseconds = dateticks/10,000 
関連する問題