ASP.NET에서 날짜로 작업합니다
-
13-09-2019 - |
문제
사용자가 입력 한 날짜를 처리하고 날짜 필드의 데이터베이스에 저장하려면 어떻게해야합니까? 날짜는 텍스트 필드에서 jQuery DatePicker를 사용하여 사용자가 입력합니다.
내가 가진 특정 요구 사항은 다음과 같습니다.
1. mm/dd/yy 문자열 (jQuery 선택한 형식을 생성 할 수 있음)을 데이터베이스에서 날짜 필드로 저장할 수있는 형식으로 어떻게 변환합니까?
2. 날짜를 얻은 다음 "2009 년 8 월 11 일 수요일"과 같은 것으로 변경하는 방법은 무엇입니까?
백엔드에는 C#을 사용하고 있지만 VB 코드도 이해할 수 있어야합니다.
감사!
해결책
사용 DateTime.Parse(string)
문자열을 a로 구문 분석합니다 DateTime
그런 다음 a로 저장할 수 있습니다 DateTime
데이터베이스에서. 다른 답변에서 제안 된대로 TryParse를 사용하여 제공된 문자열을 DateTime
.
특정 형식으로 datetime을 반환하려면 datetime에서 .tostring ()을 호출하고 형식을 제공하십시오 또는 사전 정의 된 형식 중 하나를 사용하십시오 ToShortDateString()
다른 팁
string dateString = "08/11/09";
DateTime yourDate;
if(DateTime.TryParse(dateString, out yourDate))
{
// do something with yourDate
string output = yourDate.ToString("D"); // sets output to: Tuesday, August 11, 2009
}
else
{
// invalid date entered
}
다음은 목록입니다 DateTime
형식 문자열 : http://msdn.microsoft.com/en-us/library/az4se3k1.aspx
John Rasch의 솔루션에 동의합니다. 사람들이 자주 모르는 것은 String.Format(...)
날짜 (및 기타 데이터 유형)를 포맷하는 방법. 날짜의 경우 T를 사용하는 것이 더 편리합니다.oString()
방법, 날짜가 그러한 기능을 제공하므로 다른 데이터 유형은 아마도 객체의 주소를 반환 할 것입니다. ToString()
.
따라서 DB 또는 DateTime 객체로 데이트를받을 수 있습니다. 다음을 수행 할 수 있습니다.
DateTime date = DateTime.Now; //normally would come from somewhere else
//Wednesday, Aug 11, 2009 <-- what we want to get displayed
string displayFormat ="dddd, MMM dd, yyyy";
string formattedDate = string.Format("{0:" + displayFormat + "}", date);
Response.Write(formattedDate);
요청한 내용이 정확히 인쇄됩니다. 다른 형식 문자열에 대한 설명을 찾을 수 있습니다. 여기.
CDATE (string)는 문자열에서 실제 날짜를 제공하고 DateFormat (문자열, 옵션)은 옵션 상태로 형식으로 된 문자열을 반환합니다. LongDateFormat은 원하는 옵션 중 하나입니다.
DateTime 필드를 구문 분석 한 형식에 관계없이
DateTime dt = DateTime.Now;//*example
//FormatString for "Wednesday, Aug 11, 2009" is *dddd,MMM dd,yyyy*
string formattedString = dt.ToString("dddd,MMM dd,yyyy");
이 형식을 전 세계적으로 보유하고 사용할 수 있습니다
이전 답변은 그것이 날짜인지 확인할 것입니다 (나는하지만 try
catch
블록을해야합니다.) 문자열을 날짜로 확인한 후에는 저장 프로 시저에 전달하거나 단일 따옴표로 넣고 삽입/업데이트 문의 일부로 만들 수 있습니다.
string yourdateString ="5-5-09";
update table set da='" + yourDateString + "' WHERE id=@id