티스토리 뷰
날짜와 시간의 형식에 맞춘 String을 DateTime으로 변경해보자.
String을 DateTime으로 변경하는 방법은 여러가지 있습니다. 보통 아래방법들이 많이 사용됩니다.
1. Convert.ToDateTime("날짜") - 보통 Type을 변경할때 많이 쓰이는 Convert 함수입니다.
2. DateTime.Parse("날짜") - DateTime Class에서 제공하는 메소드로 Convert.ToDateTime과 별반 차이가 없습니다.
3. DateTime.TryParse("날짜",bool) - Parse()의 확장형으로 변경과 함께 정상적으로 변경이 되었는지 확인값도 리턴합니다.
4. DateTime.ParseExact("날짜","형식") - String에 들어가있는 날짜 형식을 사용자가 지정할수 있습니다.
4번의 ParseExact()메소드를 제외하고는(이건 형식을 지정할수 있으니...) 일정한 형식에 맞춰 넣어줘야지 DateTime형으로 정상적으로 변경됩니다. 아래 예제 소스로 하나하나 알아보도록 하겠습니다.
1. 날짜 입력시
1-1. 년,월,일 구분값은 [스페이스값],[/],[-] 으로만 구분가능하다. (섞여도 상관없습니다.)
DateTime dti = Convert.ToDateTime( "2015 11 13" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "2015-11-13" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "2015/11/13" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "2015-11/13" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "2015/11 13" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "20151113" ); //에러 (구분값 없음) DateTime dti = Convert.ToDateTime( "2015_11_13" ); //에러 (구분값 에러) DateTime dti = Convert.ToDateTime( "2015:11:13" ); //에러 (구분값 에러 :는 시간에서 사용가능) |
1-2. 최소한 [월]과 [일]을 입력해주어야 한다. (년도는 미입력시 현재 년도로 자동입력됩니다.)
DateTime dti = Convert.ToDateTime( "11 13" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "15 11 13" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "30" ); //에러 DateTime dti = Convert.ToDateTime( "30 15" ); //에러 (30월이 없으므로 에러) |
1-3. 영어나 한글등 언어로 날짜를 입력시 해당 국가 표기방법으로만 입력해야한다. (섞이면 에러가 발생합니다.)
DateTime dti = Convert.ToDateTime( "2015년11월13일" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "November 13, 2015" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "Nov 13, 2015" ); //변환 가능 (2015년 11월 13일 오후 12:00:00) DateTime dti = Convert.ToDateTime( "2015-11월13일" ); //에러 (한글표기에 구분값이 들어가서 에러) DateTime dti = Convert.ToDateTime( "2015년11/13" ); //에러 (한글표기에 구분값이 들어가서 에러) DateTime dti = Convert.ToDateTime( "11월 13, 2015" ); //에러 (영문표기에 한글이 들어가서 에러) DateTime dti = Convert.ToDateTime( "2015Year 11Month 13Day" ); //에러 (한국식 표기법을 영문으로 처리해서 에러) |
2. 시간 입력시
2-1. 시간은 [:]으로만 구분가능하다. ('스페이스', '-' , '/' 를 넣으면 날짜로 인식합니다. 날짜는 미입력시 오늘날짜로 입력됩니다.)
DateTime dti = Convert.ToDateTime( "10:15:22" ); //변환 가능 (2015년 11월 13일 오전 10:15:22) DateTime dti = Convert.ToDateTime( "101522" ); //에러 (구분자 에러) DateTime dti = Convert.ToDateTime( "10-15-22" ); //에러 (2010년 15월 22일로 인식) DateTime dti = Convert.ToDateTime( "10/15/22" ); //에러 (2010년 15월 22일로 인식) DateTime dti = Convert.ToDateTime( "10_15_22" ); //에러 (구분자 에러) |
2-2. 최소한 [시]와 [분]은 입력해주어야 한다. (초는 미입력시 00초로 자동입력됩니다.)
DateTime dti = Convert.ToDateTime( "10:15" ); //변환 가능 (2015년 11월 13일 오전 10:15:00) DateTime dti = Convert.ToDateTime( "30" ); //에러 DateTime dti = Convert.ToDateTime( "30:15" ); //에러 (30시가 없으므로 에러) |
2-3. 영어나 한글등 언어로 날짜를 입력시 해당 국가 표기방법으로만 입력해야한다. (한국이외에는 xx : xx 표기법만 사용하는듯합니다.)
DateTime dti = Convert.ToDateTime( "10시 15분 22초" ); //변환 가능 (2015년 11월 13일 오전 10:15:22) DateTime dti = Convert.ToDateTime( "10:15 22초" ); //변환 가능 (?? 이해할수는 없지면 변환 된다..) DateTime dti = Convert.ToDateTime( "10시 15:22" ); //에러 (표기방법 뒤섞임) |
4. 오전/오후(AM/PM) 구분이 없을경우 24시 기준으로 입력되며 오전/오후 구분이 있을경우 12시 기준으로 입력된다.
DateTime dti = Convert.ToDateTime( "PM 10시 15분 22초" ); //변환 가능 (2015년 11월 13일 오후 10:15:22) DateTime dti = Convert.ToDateTime( "오후 10:15:22" ); //변환 가능 (2015년 11월 13일 오후 10:15:22) DateTime dti = Convert.ToDateTime( "22:15:22" ); //변환 가능 (2015년 11월 13일 오후 10:15:22) DateTime dti = Convert.ToDateTime( "10:15:22 AM" ); //변환 가능 (2015년 11월 13일 오전 10:15:22) DateTime dti = Convert.ToDateTime( "22:15:22 AM" ); //에러 (오전/오후 구분자가 있을경우 12시간 기준) |
1번과2번의 날짜/시간 입력방식만 지키면 날짜와 시간 모두 입력시 표기방법이 뒤섞여도 상관없습니다.
(날짜는 영문, 시간은 한글로 입력해도 상관없습니다.)
예제는 모두 Convert.ToDateTime() 메소드만 사용하였지만 DateTime.Parse()메소드도 모두 똑같이 적용됩니다.
나머지 3,4번 메소드는 후에 다시 블로깅하겠습니다.
- 볼빨간사춘기
- clr
- 서울 데이트코스
- JavaScript
- 화재
- MS-SQL
- MSSQL
- 집밥백선생
- c#
- 집밥 백선생
- 집밥
- 레시피
- 자바스크립트
- SQL
- 지진속보
- C#기초
- 함수
- 데이트
- 백종원
- DateTime
- 마이리틀
- 서울 데이트
- 장범준
- ASP.NET
- 서울데이트 코스
- 4차산업혁명
- ASP
- 백선생
- 지진
- 엔플라잉
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Total
- Today
- Yesterday