2017-02-23 16 views
0

DateTime変数をTimestampに変換しようとしています。私の変数は現在のフォーマット:1/23/17 2:14:31 PMであり、私はそれがTimeStampであるようにしたいと思います。私はそれをOracle SQL Developerに使用できます。例:23-JAN-17 2.14.31.000000000 PMDateTimeからTimeStampに変換する

は、私はこのようにそれを変換しようとしています:

DateTime d = DateTime.Now.AddDays(-31); 
Console.WriteLine(d.ToUniversalTime().ToString("O")); 

が、出力はTimeStampのようなものではありません:

2017-01-23T14:14:31.5838355Z 
+0

なぜあなたはあなたのSQLに通常のdatetimeを使用できませんか? – NicoRiff

+0

データベースを作成した人がその形式のTimeStamp列を作成したため、変更できません。 –

+1

https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.80).aspxおよびhttps://msdn.microsoft.com/en-us/library/8kb3ddd4(v=)を参照してください。対80).aspxとその1つはあなたの質問に答えるべきです。また、接続を管理するオブジェクトが自動的に変換を行うかどうかを確認することもできます。 – Chris

答えて

2

はこれを試してみてくださいしてみてください。

DateTime d = DateTime.Now.AddDays(-31); 
long epoch = (d.Ticks - 621355968000000000)/10000000; 
Console.WriteLine(d.ToUniversalTime().ToString("dd-MMM-yy HH:mm:ss") + ":" + epoch); 
+0

あなたの 'epoch'は1970年の初めから" Unix "の2番目のカウントになっています。___関連性は何ですか?___必要なら' long epoch =((DateTimeOffset)d).ToUnixTimeSeconds(); '読むのが簡単です。 –

0

はこの1つ

DateTime d = DateTime.Now.AddDays(-31); 
Console.WriteLine(d.ToUniversalTime().ToString("hh-MMM-yy hh.mm.ss.ffffff tt")); 
+0

"PM"指定子での月は文化によって異なります。例えば、 "23 es-ES"(スペイン語(スペイン))で "23-ene-17 02.14.31.000000000" '(' Jan' 'en 'です。' PMは何もありません)。 –

関連する問題