bestsource

C#을 사용하여 MySQL에 대한 DateTime 변환

bestsource 2023. 10. 16. 21:56
반응형

C#을 사용하여 MySQL에 대한 DateTime 변환

C#에서 MySQL의 DateTime을 변경하고 싶습니다.

MySQL 데이터베이스는 이 형식만 허용합니다.1976-04-09 22:10:00.

C#에서 날짜 값을 가지는 문자열:

string str = "12-Apr-1976 22:10";

MySQL로 변환하려면 다음과 같이 해야 합니다.

1976-04-12 22:10

변경하는 방법 또는 다른 프로그래머가 다음을 사용하여 변경하는 방법dd mm hh yy방법?누가 그들에 대해 말해 줄 수 있습니까?

ISO 형식을 하드 코드화할 수 있음을 명심하십시오.

string formatForMySql = dateValue.ToString("yyyy-MM-dd HH:mm:ss");

또는 다음을 사용합니다.

// just to shorten the code
var isoDateTimeFormat = CultureInfo.InvariantCulture.DateTimeFormat;

// "1976-04-12T22:10:00"
dateValue.ToString(isoDateTimeFormat.SortableDateTimePattern); 

// "1976-04-12 22:10:00Z"    
dateValue.ToString(isoDateTimeFormat.UniversalSortableDateTimePattern)

기타 등등

DateTime에 대한 문자열 형식이 고정되어 있으면 다음으로 변환할 수 있습니다.System.DateTime사용:

string myDate = "12-Apr-1976 22:10";
DateTime dateValue = DateTime.Parse(myDate);

이제 특정 형식으로 필요할 때 프로세스를 되돌릴 수 있습니다. 즉:

string formatForMySql = dateValue.ToString("yyyy-MM-dd HH:mm");

편집 - 업데이트된 코드.이상한 이유로 DateTime.ParseExact가 잘 안되고 있었습니다.

저는 우선 값을 문자열로 보내는 대신 매개 변수화된 쿼리를 사용하는 것을 강력히 제안합니다.

이렇게 하면 입력 형식을 다음으로 변환할 수 있습니다.DateTime아니면DateTimeOffset, 그러면 데이터베이스 형식에 대해 걱정할 필요가 없습니다.이는 단순할 뿐만 아니라 SQL 주입 공격(예: 문자열 값)을 피할 수 있으며 데이터베이스 설정 변경 시에도 더욱 강력합니다.

원래 A로 변환하는 경우DateTime, 사용하시기를 권합니다.DateTime.ParseExact아니면DateTime.TryParseExact예상 형식을 명시적으로 지정합니다.

이것은 저에게 효과가 있습니다.

1. Oracle 데이터베이스에서 날짜를 추출하여 변수에 전달

 string lDat_otp = "";

  if (rw_mat["dat_otp"].ToString().Length <= 0)
  {
      lDat_otp = "";
  }
  else
  {
      lDat_otp = rw_mat["dat_otp"].ToString();
  }

2.mysql 포맷으로의 변환

DateTime dateValue = DateTime.Parse(lDat_otp);
string formatForMySql = dateValue.ToString("yyyy-MM-dd HH:mm");

3.formatForMySql 변수를 프로시저 또는 다른 것으로 전달

언급URL : https://stackoverflow.com/questions/3633262/convert-datetime-for-mysql-using-c-sharp

반응형