Date
02/14/2012を「20120214」の形式に変換するにはどうすればよいですか?日付を8桁の整数に変換する方法は?
私はデータベースの日付を整数として保存したいのですが、これはもっと柔軟性があるようです。
Date
02/14/2012を「20120214」の形式に変換するにはどうすればよいですか?日付を8桁の整数に変換する方法は?
私はデータベースの日付を整数として保存したいのですが、これはもっと柔軟性があるようです。
これを試してみてください:
DateTime date = new DateTime(2012, 02, 14);
string toDb = date.ToString("yyyyMMdd");
更新 ああ、私はデータベースエンジンの代わりの文字列形式を使用して、データベース内のDateTimeフィールドを使用することができ促すコメントがありますので、。 datetimeをテキストとして格納することは柔軟性がありません。いくつかのエンジン(Sqliteのような)はdatetimeフィールドをサポートしていませんが、ほとんどのエンジンはそうしています。 datetimeの文字列形式を使用すると、dbから値を取得したり、dbに保存したりする必要がある場合は、手動による解析と変換を適用する必要があります。一度忘れてしまえば、見つけにくいバグにつながることは非常に簡単です。日時フィールドを使用している間は、それについて覚えておく必要はありません。
、これは動作しません、それは私がPedantically – V4Vendetta
感謝を変換する前に、それは今柔軟可能性があり、デシベルで日時フィールドを使用するためのメモを追加するように注意してください年<1000年、ここで、 "YYYYMMDD" がそうであるよう。 –
使用String.Format()
機能String.Format()
http://www.csharp-examples.net/string-format-datetime/
あなたのDateTimeのインスタンスのために.ToStringのカスタムDateTime書式文字列を使用することができます上の
さらに詳しい情報:しかしhttp://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
dateTime.ToString("yyyyMMdd")
ほとんどすべてのデータベース文字列ではなく日付として日付を格納する方法があります。その文字列を調べたい場合があります。日付を日付データ型として保持すると、日付の計算を行う場合に、潜在的なローカリゼーションの問題やその他の日付関連の問題を回避できます。
お試しください。
string[] dtPart = "02/14/2012".Split('/');
DateTime dt = new DateTime(int.Parse(dtPart[2]), int.Parse(dtPart[0]), int.Parse(dtPart[1]));
int result = int.Parse(dt.ToString("yyyyMMdd"));
DateTime.Now.ToString( "yyyyMMdd");必要に応じてConvert.ToUInt32を整数に変換してください。
しかし、私はDateTime型がデータベースの整数または文字列より優れていると思います。必要に応じてDateTimeをフォーマットします。
使用.ToString("yyyMMdd")
、このいずれかを試してみてください。
Msgbox(Now.ToString("yyyMMdd"))
を何をすべきか知っている今、あなたしているコメントみんなのメンテナンス地獄に後で –
私はMM/DD/YYYYとしてデータを保存することはないが、あなたは必ずテキストフィールドYYYYMMDDとして保存されている実際の日付よりも優れていますまたはdatetimeフィールド?ほとんどの場合(すべてではないにしても)、dbのdatetimeがサポートされています。 – andrew
彼はテキストを言っていない、と彼は言う整数。 THERは、例えば、異なる寸法(年間の月の日に20120214、201202、2012)のために、しかし、テキストの理由です。時々使用されます。 – TomTom