2017-04-12 13 views
0

私はデータベースをc#windowsフォームアプリケーションに接続しています。データベースから現在の日時を取得し、その日時を使用して他のデータをデータベースに挿入したいとします。C#、mysqlの日付

私はWAMPのmySqlConsoleからの問合せselect now()を実行すると、私は私が期待するものを得る:12-04-17 12:06:28が、私は、C#から、同じクエリを実行し、次のように文字列に値を格納する場合:String datetime = cmdDatetime.ExecuteScalar().ToString();月iが挿入カントた形式でAprなり、 DBに。

mysqlと同じフォーマットでmysql datetimeを保存する方法はありますか?可能であれば

+3

は避け*しよう*可能な限り文字列を使用する。 –

答えて

3

あなたがDateTimeオブジェクトを使用することができ、または他のあなたが望む形式に受信日時を変換する必要があります。

DateTime dateTime = (DateTime)cmdDatetime.ExecuteScalar(); 

string dateTimeString = dateTime.ToString(CultureInfo.InvariantCulture); 

InvariantCultureを使用して、あなたは常に同じで結果を取得しますつまり、en-USの設定です。

また、あなたも、特定のフォーマットを強制することができます

string dateTimeString = dateTime.ToString("dd-MM-yyyy HH:mm:ss"); 
+0

@PatricHofman私は 'ToString'のパラメータのオプションとして' CultureInfoConverter'しか持っていません。 – wdc

+3

@wdcあなたは 'using System.Globalization;'おそらく – Pikoh

0

をあなたが例えばフォーマットを指定する必要があります。

DateTime datet = (DateTime)cmdDatetime.ExecuteScalar(); 
String datetime = datet.ExecuteScalar().ToString("dd-mm-yyy HH:mm:ss"); 
+1

を追加する必要があります。それはコンパイルされません。 –

0

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

DateTime datetime = (DateTime)cmdDatetime.ExecuteScalar(); 
String datetimeStr = datetime.ToString("yyyyMMddHHmmss"); 
+2

コンパイルされません。 –

+0

@PatrickHofman今はどうですか? – Whencesoever

+2

'ExecuteScalar'はオブジェクトを返します。 'ToString'にフォーマットを試みる前に' DateTime'にキャストする必要があります – Pikoh