0

DateTime 形式を別の形式に変更する方法を知りたいです。つまり、Typed DataTable に追加された DateTime 値を表す文字列の値を取得しますが、DataRow を追加した瞬間にエラーが発生しました

dr[i] = value;
dt.Rows.Add(dr);

そのフィールドの列は次のように設定されました。

DataColumn dc = new DataColumn("CreateDate", typeof(System.DateTime));
dt.Columns.Add(dc);

だから、私はこの値「30-01-1984」を受け取ってクラッシュします!!! それで。2 つの日時形式を定義したとします。この形式「MM-dd-yyyy」を受け取り、この形式「yyyy-MM-dd」に変更することをアプリに伝えるために、この形式を構成したいと考えています。そのため、文字列値を最初の形式に解析してから、それを新しい形式に変更できるかどうかを確認したいと考えています。

ありがとう

4

1 に答える 1

3

値を含むフォーマットされた文字列を取得しているため、次のようにor (またはバリアント)を使用しDateTimeて、.NetDateTime型オブジェクトで解析する必要があります。DateTime.ParseDateTime.ParseExactDateTime.TryParse

string yourStringDate = "30-01-1984";
DateTime dateTimeObj = DateTime.ParseExact(yourStringDate, 
                                  "d-M-yyyy", 
                                   CultureInfo.InvariantCulture));

(私は single を使用dMました。これは、1 桁の日と月の両方で機能します)

後でそれを DataTable に追加します。お気に入り:

DataRow dr = dt.NewRow();
dr["CreateDate"] = dateTimeObj;

日付を文字列として取得する方法がわかりません。データベースに文字列として保存している場合は、日付を文字列として保持するのではなく、データベースによって提供される型DateTimeを使用することをお勧めします。DateTime

于 2013-10-28T17:37:58.840 に答える