2016-04-15 18 views
4

datatable私はdd/mm/yyyyの形式で日付を取得したいと思います。asp.netでdatatableの日付をdd/mm/yyyy形式に変換する

現在、私はあなたが必要に合格しました日付が

2012年2月1日12時00分00秒AM

以下

のように私のコード

strInvoice_date = dt.Rows[i]["INVOICE_DATE"].ToString(); 
+1

助けることができますdt'?それは 'DateTime'か' string'ですか? –

答えて

6

あなたが望むよう、その後を表す変換します

コードの下
strInvoice_date = Convert.ToDateTime(dt.Rows[i]["INVOICE_DATE"]).ToString("dd/MM/yyyy"); 
+1

一般的には、この種のケースでは 'Conse.ToDateTime(object)' _probably_ ToString'メソッドを呼び出すため、OPの 'CurrentCulture'の標準日時フォーマットではないので、' ParseExact'を使う方が良いでしょうそれの中に。しかしOPはこれを答えとして選択したので、この場合は無効です。 –

1

あり得ますToString()メソッドの日付形式、

strInvoice_date = Convert.ToDateTime(dt.Rows[i]["INVOICE_DATE"]).ToString("dd/mm/yyyy"); 
日付時刻フォーマットの詳細については

visit

+0

'メソッドのオーバーロードが1つの引数を取る'というエラーが表示される – ash060

4

あなたdt.Rows[i]["INVOICE_DATE"] retuns object、あなたがToStringメソッドを呼び出すとき、それはobject.ToString()ないDateTime.ToString()を呼び出します。あなたのINVOICE_DATE列があなたのDataTableのDateTimeある場合

は、明示的InvariantCultureよう適切文化とフォーマットをごobjectDateTimeにキャストし、dd/MM/yyyyを使用する(私はあなたの代わりに分の数ヶ月をしたいと仮定)することができます。

var Invoice_date = (DateTime)dt.Rows[i]["INVOICE_DATE"] 
           .ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); 

あなたINVOICE_DATE列があなたのDataTableのstringであれば、あなたは、それがobject.ToStringと文字列表現のget Datetimeにそれを解析し、それが文字列表現だ生成する必要があります。

var Invoice_date = DateTime.ParseExact(dt.Rows[i]["INVOICE_DATE"].ToString(), 
             "dd-MM-yyyy hh:mm:ss tt", 
             CultureInfo.InvariantCulture) 
          .ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); 
+2

これは、頭痛を救うためにはより良い方法です。文化情報を定義することが重要です。 –

1

はあなた、あなたの `のあなた` INVOICE_DATE`の列の型は何

strInvoice_date = Convert.ToDateTime(dt.Rows[i]["INVOICE_DATE"].ToString("0:dd/MM/yyyy")); 
+0

'dt.Rows [i] [" INVOICE_DATE "]'は 'object'を返します。 'string'をパラメータとして取ります。 –

+0

DateTimeで列を変換する必要があります。 strInvoice_date = Convert.ToDateTime(dt.Rows [i] "INVOICE_DATE"]。ToString( "0:dd/MM/yyyy")); –

関連する問題