2016-09-30 3 views
0

誰もが.netフレームワークの外から.netタイムティックの数を計算する方法を知っていますか?私の状況は、Linux上のPythonスクリプト(私の側)が、C#プロセス(コードを変更できない相手側)向けのメッセージのティック数としてタイムスタンプを送信する必要があるということです。私はこれを行うライブラリを見つけることができません...任意の考えですか?ありがとう!.netフレームワークの外側から数ティックを計算する

+0

'Environment.TickCount'は数ありますWindowsが起動してからのミリ秒。 Linuxはこれに使用できる '/ proc/uptime'を提供しています。しかし、これら2つの異なるシステム稼働時間をどのように調整すればよいでしょうか?多くの意味があるように思われません... –

+0

私はC#Datetimeオブジェクトを表すティックを参照していますので、ティックは01/01/01 00:00から100nsのチックの数に対応します: 00。これは1970年1月1日にUnix時間とゼロに調整されるかもしれませんが、1500年代の何か(JulianからGregorianへ)のカレンダーの変更などのために、どうやって正確に処理するべきかはわかりません。どこかに図書館があることを望んでいる。 – aho

答えて

1

あなたは簡単に何のUnix/Linuxのエポック(1970-01-01 00:00:00)を決定することができますがDateTimeのであるダニ:

DateTime netTime = new DateTime(1970, 1, 1, 0, 0, 0); 
Console.WriteLine(netTime.Ticks); 
// Prints 621355968000000000 

をUNIX/Linuxのタイムスタンプは、以降の秒数であるので、 1970-01-01 00:00:00あなたは100nsのにそれを変換することができます10000000を乗じてダニ、その後のDateTimeに変換621355968000000000を追加することにより、ダニ:

long netTicks = 621355968000000000L + 10000000L * linuxTimestamp; 
+0

私はvsを持っていれば私はできました!ありがとうございます – aho

+1

@aho:C#を試してみる必要がある場合は、https://dotnetfiddle.net/から無料でダウンロードできます。たとえば、次のURLをクリックしてください:https://dotnetfiddle.net/X9rsgk –

関連する問題