형식 - datetimepicker c#
datatable에서 날짜 열의 날짜 형식을 변경하는 방법? (1)
글쎄 , 당신은 당신이 어떻게 dataTable
을 만들지 말하지 않았지만 내 생각은 ..
두 DATE
및 TIME
열이 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입니다. 그것을 어떻게 성취 할 수 있습니까?