어떻게 DateTime을 정수 값으로 변환합니까?
DateTime을 String 값으로 변환 하시겠습니까?
편집 : 어떻게 DateTime을 String 값으로 변환합니까?
예
정수로 표현 될 수없는String return value of 20100626144707 (for 26th of June 2010, at 14:47:07)
어떻게 DateTime을 정수 값으로 변환합니까?
DateTime을 String 값으로 변환 하시겠습니까?
편집 : 어떻게 DateTime을 String 값으로 변환합니까?
예
정수로 표현 될 수없는String return value of 20100626144707 (for 26th of June 2010, at 14:47:07)
, 그것은 오버 플로우 것이다. 그러나 오래있을 수 있습니다.
DateTime dateTime = new DateTime(2010, 6, 26, 14, 44, 07);
long time = long.Parse(dateTime.ToString("yyyyMMddHHmmss"));
그러나, 단순히 문자열로 표현하는 것이 더 직관적 인 것,하지만 난 당신이 정보로 할 의도 모르겠어요.
편집 : 당신이 질문을 업데이트 한 이후
는 대답은 간단하다.
string time = dateTime.ToString("yyyyMMddHHmmss");
32 비트 정수는 매우 정확한 해상도로 DateTime 값을 유지하기에 충분하지 않습니다. Ticks 속성은 long (Int64)입니다. 당신이 틱 수준의 정밀도를 필요로하지 않는 경우, 당신은 시대 이후 초 같은 것을 얻을 수 :
TimeSpan t = (DateTime.UtcNow - new DateTime(1970, 1, 1));
int dateAsInteger = (int)t.TotalSeconds;
그것은 일반적으로 당신이 연산 할 수없는 번호를 저장하는 숫자 데이터 유형을 사용하는 것은 좋은 생각 에. 예 : 예제의 숫자에는 숫자 의미 또는 값이 없으며이를 더하거나 뺄 때는 무의미합니다. 그러나 특정 날짜 이후의 초 수는 이고 숫자 데이터 형식으로는입니다.
, 그것은 그가처럼 보이는 단지 년, 월, 일 등으로 시작하는 숫자로 표시되는 실제 날짜를 원합니다. –
그는 다시 초를 묻지 않았습니다. 다시 질문을 읽어보십시오. –
@Srin : 원래 질문의 예는 초를 표시합니다. –
참고 : 질문이 "정수 값"이 아닌 "문자열 값"으로 변경되기 전에 게시되었습니다.
은 기본적으로 당신이 그것을 추가 한 후 각 부분에 필요한 장소의 숫자로 번호를 따라 이동하고 싶지 :
var x = new DateTime(2010,06,26,14,47,07);
long i = x.Year;
i = i * 100 + x.Month;
i = i * 100 + x.Day;
i = i * 100 + x.Hour;
i = i * 100 + x.Minute;
i = i * 100 + x.Second;
Console.WriteLine(i); // 20100626144707
덕분에 자신의 샘플에서 프롬프트 응답 : – 001