형식 - datetimepicker c#



datatable에서 날짜 열의 날짜 형식을 변경하는 방법? (1)

글쎄 , 당신은 당신이 어떻게 dataTable 을 만들지 말하지 않았지만 내 생각은 ..

DATETIME 열이 DateTime 인 경우 Datetime 값을 제공해야합니다. string 아닙니다.

.NET Framework에서 DateTime 구조에는 암시 적 형식이 없습니다. 단지 날짜와 시간 값을 가지고 있습니다. 포맷을 시도 할 때 문자열 표현을 얻습니다. 그렇기 때문에 15/02/2015 이 귀하의 케이스에있는 string 되고 DateTime 아닌 이유입니다.

d 값이 CurrentCulture표준 날짜 및 시간 형식 이 아니기 때문에 Convert.ToDateTime 메서드에서 FormatException 이 발생합니다. DateTime.ParseExact 또는 DateTime.TryParseExact 메서드를 사용하여 사용자 지정 날짜 및 시간 구문 분석을 사용할 수 있습니다.

string s = "15/02/2015";
DateTime dt;
if(DateTime.TryParseExact(s, "dd/MM/yyyy", CultureInfo.InvariantCulture,
                          DateTimeStyles.None,
                          out dt))
{
    Console.WriteLine(dt);
}

그렇게해도 왜 datetime 형식의 열에 string 값을 보관하고 싶습니까? 그것은 전혀 이해가되지 않습니다. 이렇게하면 .Rows.Rows 반환하기 때문에 아마도 Collection이 수정 될 것입니다 . 열거 연산은 반복하는 동안 컬렉션을 수정하려고하므로 오류를 실행할 수 없습니다 .

문자열 값에 대해 다른 DataTable 을 만들고 DateTime 값 문자열 표현에 dd/MM/yyyy 형식으로 추가하는 것이 좋습니다.

int i = 0;
string d = "";
var stringDataTable = new DataTable();
stringDataTable.Columns.Add("DATE", typeof(String));
stringDataTable.Columns.Add("TIME", typeof(String));

foreach(DataRow dr in dataTable.Rows)
{
   d = ((DateTime)dr["DATE"]).ToString("dd/MM/yyyy", CultureInfo.InvariantCulture);
   stringDataTable.Rows[i]["DATE"] = d;
   i++;
}

데이터베이스에서 데이터베이스를 채우고 있습니다. 여기에는 두 개의 필드가 포함됩니다 : DATE , TIME

두 필드 모두 datetime 열입니다.

datatable을 반복하고 DATE 열의 날짜 형식을 변경하려고합니다. 즉, dd/MM/yyyy

int i = 0;
string d="";
foreach (DataRow dr in dataTable.Rows)
{
    d = dr["DATE"].ToString();
    DateTime date = Convert.ToDateTime(d);
    d = date.ToString("dd/MM/yyyy");
    dataTable.Rows[i]["DATE"] = d;
    i++;
}

다음과 같은 오류가 발생합니다.

문자열이 유효한 DateTime으로 인식되지 않았습니다.

DATE 열에 <15/02/2015> 를 (를) 저장할 수 없습니다. 예상되는 유형은 DateTime입니다. 그것을 어떻게 성취 할 수 있습니까?





datatable