2012-10-20 2 views
5

내 시스템 날짜 형식은 dd-MM-yyyy (20-10-2012)이고 날짜 및 월, 연도를 구분하는 구분 기호를 사용하고 있습니다. 날짜 형식 (dd/MM/yyyy)을 형식이 원하는 날짜 형식으로 변환하는지 여부를 변환해야합니다. 당신이 형식을 알고, 또는하지 않을 경우 시스템 설정 DateTime.TryParse을 사용하려는 경우시스템 날짜 및 나누기 일, 월 및 연도

string sDate = string.Empty; 
DateTime _date = DateTime.Now; 
int count = 0; 
string format = "dd-MM-yyyy"; 
sDate = dateFormat.ToString(format); 
string[] Words = sDate.Split(new char[] { '-' }); 
foreach (string Word in Words) 
{ 
    count += 1; 
    if (count == 1) { Day = Word; } 
    if (count == 2) { Month = Word; } 
    if (count == 3) { Year = Word; } 
} 
+1

중복의 : HTTP : //stackoverflow.com/questions/12985802/im-getting-cultureinfo-invariantculture-format-for-mm-dd-yyyy-but-i-want- to-ge – SearchAndResQ

+4

'DateTime' 개체가 이미 있다면, 그 개체에 정의 된 속성을 단순히 사용할 수없는 이유는 무엇입니까? 'Year','Month' 및'Day'는 필요한 값을 직접 제공해야합니다. 이미 쉽게 도달 할 수있는 데이터를 추출하기 위해 어지러운 문자열로 변환 할 시점이 없습니다. – Oded

+0

@Oded 전적으로 당신에게 동의합니다 ..... – Ram

답변

6

당신은 DateTime.TryParseExcact를 사용해야합니다. 그리고 날짜를 인쇄하려면, 인수에 올바른 형식으로 DateTime.ToString을 입력하십시오. 년, 월 또는 일을 얻으려면 DateTime.Year, DateTime.Month 또는 DateTime.Day이 있어야합니다.

자세한 내용은 MSDN의 DateTime Structures을 참조하십시오. 당신은 다음과 같이 할 수

+2

+1 자신의 날짜/시간 처리 코드를 굴리지 마십시오. –

11

: 내 뇌를 확인하기 위해 IDE를 열지 않고 당신이 당신의 열을 사용할 수있는 날짜의 장소에

String date = DateTime.Now.Date.ToString(); 
    String Month = DateTime.Now.Month.ToString(); 
    String Year = DateTime.Now.Year.ToString(); 

..

+0

예를 들어 몇 날 자정에 매우 근접한 경쟁 조건이 있습니다. –

1

하루 중이 시간에 구문 제대로 작동 ...

특정 형식의 날짜 만 사용하려면 DateTime's .ToString(string format)을 사용할 수 있습니다. 이 링크를 따르면 표준 및 사용자 지정 서식 지정 문자열의 예제가 많이 있습니다.

그래서

DateTime _date = DateTime.Now; 
var _dateString = _date.ToString("dd/MM/yyyy"); 

당신이 요청하는 형식의 문자열로 날짜를 줄 것이다. 여기

15

당신이 찾고있는 무엇 :

String sDate = DateTime.Now.ToString(); 
DateTime datevalue = (Convert.ToDateTime(sDate.ToString())); 

String dy = datevalue.Day.ToString(); 
String mn = datevalue.Month.ToString(); 
String yy = datevalue.Year.ToString(); 

또는

는 다른 방법으로, 여기 split string date into day, month and year에 분할 기능을 사용할 수 있습니다.

희망, 도움이 될 것입니다. 건배. !! !! 다음과 같이

+0

나는 무례하기 싫지만 코드 스 니펫이하는 일을 알고 있습니까? 왜 DateTime 개체를 만든 다음 ToString()을 두 번 호출하고 다시 DateTime으로 변환하여 ToString()을 세 번 호출 할 수 있습니까? 필요한 것은 DateTime dateValue = DateTime.Now; –

+0

@BojidarStanchev님께, 저는 사용자가 물어 보았을 때 날짜 문자열을 입력으로 기대합니다 (DateTime 객체 임에도 불구하고). 따라서 유스 케이스에만 해당됩니다. 나는 런타임에 다른 종류의 문화 형식으로 사용자를 귀찮게하고 싶지 않았습니다. 그래서 그것은 단지 기본 규칙이었습니다. 주된 목적은 일, 월, 연도를 날짜 문자열에서 쉽게 분리하는 방법을 보여주는 것입니다. –

3

당신은 현재 날짜에서 월 년 날짜를 분할 할 수 있습니다 :

DateTime todaysDate = DateTime.Now.Date;

일 :

int day = todaysDate.Day;

월 :

int month = todaysDate.Month;

년도 :

int year = todaysDate.Year;

관련 문제