2009-09-20 2 views
0

다음과 같이 시작일에 대한 변수가 있습니다. 직접 실행 창에vb.net의 datetime.tostring 문제

Dim startDate as Datetime 

startDate = Convert.ToDateTime(datepicker1.text).ToString("dd-MMM-yyyy") 

내가하려고하면 Convert.toDate (datepicker1.text)로 .toString ("DD-MMM - YYYY")를 은 29 9 월 2009 같은 날짜 만의 startDate의 값을 보여주고있다 이다 2009년 9월 29일

값이 29 9 월 2009

어떤 생각으로 startDate를 변수에 설정되지 않은 이유를 정말 이해가 안

?

답변

2

동일한 날짜의 다른 표현을 보는 것만으로도 코드가 올바르게 작동합니다.

디버그 창은 단순히 다르게 표시됩니다 (모든 디버그 창 개체의 문자열 표현을 얻을 방법이있다) 인수없이 ToString 메소드를 호출하여 DateTime 구조체의 문자열 표현을 보이고있다.

Convert.ToDateTime(datepicker1.text).ToString() 

을하고 당신은 당신이 당신의 시계 창에서보고있는 같은 결과를 볼 수 있습니다 : 대신 직접 실행 창에서 이것을 시도 -

행동이를 참조하십시오.

기억해야 할 중요한 점은 DateTime은 다양한 개념을 표현할 수있는 추상 개념입니다. 또한 동일한 데이터에 대해 다른 표현을 보았 기 때문에 기본 유형 자체가 변경되지 않는다는 점을 기억해야합니다. 당신은 미국에서 사용되는 것보다 다른 날짜 형식을 사용하고

Dim startDate as Datetime 

startDate = DateTime.Parse(datepicker1.text); 

를, 그래서 DateTime.Parse 통화에 두 번째 매개 변수로 IFormatProvider 예를 전달해야 할 수도 있습니다 :

0

대신 시도 .

0

날짜/시간 변수는 0001 년 1 월 1 일 자정 12시 00 분 이후 100 나노초 기간으로 저장됩니다. 2009 년 9 월 29 일 값을 할당하면 단일 숫자로 변환됩니다.

이 숫자를 나타내는 데는 여러 가지 방법이 있습니다. ToString ("dd-MMM-yyyy")은 하나의 형식 (2009 년 9 월 29 일)을 지정하며 시스템에는 몇 가지 기본 형식이 있으며 그 중 하나는 09/29/2009입니다.

날짜에 대한 기본 시스템 형식을 사용하는 경우 다른 사용자가 위치 및 구성에 따라 다른 날짜 형식을 볼 수 있습니다.