SQL Serverの店datetime
タイプ。これは8バイトを使用します。最初の4バイトは日付用で、2番目の4バイトはその時間用です。
このタイプは、CLR側のSystem.DateTimeとmappedであり、このSystem.DateTime
ははどちらの形式を持っていませありません。それはちょうど日付と時刻の値を持っています。これは、Ticks
に基づいています。wihchは、グレゴリオ暦で0001年1月1日の12:00:00真夜中から経過した100ナノ秒の間隔です。
ご覧のとおり、どちらも実際には数値です。一方
、「フォーマット」のコンセプトあなたは、通常のC#側でDateTime.ToString
方法およびSQL Server側のFormat
方法で行われ、その原文(別名文字列)表現を取得するときにのみが適用されます。
あなたが正しいデータ型(参照:Bad habits to kick : choosing the wrong data type)を選択した場合ので、あなたのSQL ServerでのごSystem.DateTime
値のために(通常はdatetime
またはdatetime2
で行う)、なし、SQL Serverのデフォルトの日付書式/言語は、そのフォーマットに影響を与えません。レポート用に生成されます。あなたはDateTime
値に直接レポートを養うとき
は、(何のカスタムフォーマットなどが存在しない場合。)ToString()
メソッドが自動的に呼び出され、この方法は、あなたのCurrentCulture
設定で標準The "G"
Format Specifierを使用しています。
初心者の方は、DateTimeインスタンスとその文字列表現(形式)の違いを理解することが重要です。実際にはです。
日付にはフォーマットがありません。彼らはタイムゾーンを持っているかもしれませんが、フォーマットはUI目的のためだけです。 – DavidG
私は日付がデータベースからasp.netアプリケーションに正しく解釈されると思います。しかし、あなたのコンピュータの '地域'設定は、DateTimeオブジェクトを文字列にレンダリングするときに影響します(明示的にフォーマットしない限り)。 – hsoesanto