2017-10-17 2 views
-3

I UTC-Datum Zeit von meiner gespeicherten Prozedur zurückkehre, wie dieseOracle Datetime zu C# Datum Zeit

SELECT CAST(SYS_EXTRACT_UTC(SYSTIMESTAMP) AS DATE) INTO utc_date FROM DUAL; 

ich es in Out-Parameter meiner sp kehre zurück, der aus Parametertyp ist Timestamp, da ich will Zeit auch. Diese ist, wie ich den zurückgegebenen Parameter von sp bin immer

DbParameter param25 = GetDbParameter("my_utc_date" , DbType.DateTime2 , DBNull.Value); 
          param25.Direction = ParameterDirection.Output; 
          param25.Size = 100; 
          cmd.Parameters.Add(param25);  

jetzt ich den Wert von param25 bis heute Zeit konvertieren wollen, habe ich versucht, diese, aber sein gibt mir Format Ausnahme „String wurde nicht als gültig anerkannt Terminzeit."

Ich versuchte mit DbType.DateTime auch, aber der gleiche Fehler.

ich diesen Wert in param.Value bin immer,

17-OCT-17 07.07.35.000000 AM 

Wie kann ich Orakel Datetime in C# datetime konvertieren, aber auch mit der Zeit.

+0

Nun, das Format, das Sie gezeigt haben, ist dM-yyy hh.mm.ss.ffffff vielleicht sollten Sie das als Formatstring versuchen, da Sie kein "/" in Ihrem Datum haben – BugFinder

+0

Ich versuchte mit dM-yyy, aber immer noch das gleiche Ausgabe – Salman

+0

Mit ParseExact (https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx) müssen Sie ein Format geben, geben Sie 'd/M/yyyy' aber es sollte etwas wie 'dd-MMM-yy hh.mm.ss.FFFFF tt' sein – EpicKip

Antwort

0

Probieren Sie es wie diese:

var param25 = new OracleParameter("my_utc_date", OracleDbType.Date); 
param25.Direction = ParameterDirection.Output; 
param25.DbType = DbType.DateTime; 
cmd.Parameters.Add(param25); 

cmd.ExecuteNonQuery(); 

var result = param25.Value; 
// or -> DateTime result = (DateTime)param25.Value; 

.Size nicht für Datetime-Typen erforderlich ist. Hinweis, für OracleParameter haben Sie Eigenschaft OracleDbType und DbType. Ihre Standardwerte sind VARCHAR2, resp. String, das ist der Grund, warum Sie statt eines DATE-Werts eine Zeichenfolge zurückgeben.

Verwandte Themen