0

I am trying to get date in this format

"yyyy MM dd"

with spaces between them not slashes, but its not working

   using (SqlDataReader r = sqlComm.ExecuteReader())
    {
          if (r.Read())
          {
              DateTime Date 
= Convert.ToDateTime((r["Date"]).ToString("yyyy/MM/dd"));

I can't make any change to SQL Stored Procedure at all

EDIT

Sorry it was giving me this for above "25 10 2012 10:00:00:00 AM" or something so I don;t think I was doing it properly, I only want date like this "yyyy MM dd"

4

5 に答える 5

3

\宇宙に着替えてみませんか?

.ToString("yyyy MM dd")
于 2012-10-25T13:10:55.533 に答える
1

日付から文字列まで

var str= date.ToString("yyyy MM dd")

およびこれまでの文字列

DateTime date = DateTime.ParseExact(string, "yyyy MM dd", CultureInfo.InvariantCulture);
于 2012-10-25T13:10:48.767 に答える
1

DateTimeマークの答えから構築すると、オブジェクトstringと日付の表現が実際にどのように機能するかについて少し混乱しているようです。はDateTime、開始点からの単なるオフセットです。

コード内のこの行は、最初に SQL リーダーの Date 列から値を取得し、それを"yyyy/MM/DD"形式の文字列に変換し、最後にその文字列をDateTimeオブジェクトに変換します。

= Convert.ToDateTime((r["Date"]).ToString("yyyy/MM/dd"));

ご覧のとおり、DateTime目的の表示ではなく、オブジェクトになってしまいstringます。実際にこのコードでフォーマットされた のみを返したい場合stringは、最終行は次のようになります。

編集

= r.GetDateTime(r.GetOrdinal("Date")).ToString("yyyy MM dd");

于 2012-10-25T13:19:26.760 に答える
0

したがって、「yyyy MM dd」という形式が必要ですが、この「yyyy/MM/dd」を使用します。

その代わり:

String dateString = r.GetDateTime(r.GetOrdinal("Date")).ToString("yyyy MM dd");

見てください:http://ideone.com/XecnUP

于 2012-10-25T13:10:58.100 に答える
0

ADateTime には形式がありません。それは、「{エポック}からの経過時間」であり、オフセット/タイムゾーン情報を提供または取得します。ソースの値が日時の場合、必要なのは次のとおりです。

DateTime date = (DateTime)r["Date"];

その後、後で UI でフォーマットすることができます。ただし、繰り返しますDateTime が、 a には format がありません

于 2012-10-25T13:11:37.593 に答える