私が書いたように私は私のアプリケーションで有効なタイムスタンプを取得したいのですが。
public static String GetTimestamp(DateTime value)
{
return value.ToString("yyyyMMddHHmmssffff");
}
// ...later on in the code
String timeStamp = GetTimestamp(new DateTime());
Console.WriteLine(timeStamp);
出力:
000101010000000000
私は以下のようなものが欲しかった:
20140112180244
私は何をしましたか。
あなたの間違いはnew DateTime()
を使用しています、それは現在の日時の代わりに00:00:00.000で0001年1月1日を返します。現在の日付と時刻を取得するための正しい構文は DateTime.Now なので、これを変更します。
String timeStamp = GetTimestamp(new DateTime());
これに:
String timeStamp = GetTimestamp(DateTime.Now);
var Timestamp = new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
var timestamp = DateTime.Now.ToFileTime();
この答え自体は「良い」わけではありませんが、それほど冗長ではありませんが、既に提供されているものと同様の結果を提供する代替の答えです。 UNIX時間ではありませんが、windows filetimeを使用して、個別のトランザクションを個別化することができます。
Int32 unixTimestamp =(Int32)(DateTime.UtcNow.Subtract(new DateTime(1970、1、1)))。TotalSeconds;
DateTime.UtcNowは、unixタイムスタンプを取得したいDateTimeオブジェクトに置き換えることができます。