다음을 통해 공유


Date 데이터 형식(Visual Basic)

0001년 1월 1일부터 9999년 12월 31일까지의 날짜와 오전 12:00:00(자정)부터 오후 11:59:59.9999999까지의 시간을 나타내는 IEEE 64비트(8비트) 값을 보유합니다. 각 증분은 일반 달력에서 1년 1월 1일 시작 이후 경과된 시간의 100나노초를 나타냅니다. 최대값은 10000년 1월 1일 시작 이전 100나노초를 나타냅니다.

설명

Date 데이터 형식을 사용하여 날짜 값, 시간 값 또는 날짜 및 시간 값을 포함합니다.

Date의 기본값은 0001년 1월 1일 0:00:00(자정)입니다.

DateAndTime 클래스에서 현재 날짜와 시간을 가져올 수 있습니다.

형식 요구 사항

숫자 기호(# #) 내의 Date 리터럴을 묶어야 합니다. M/d/yyyy(예: #5/31/1993#) 또는 yyyy-MM-dd(예: #1993-5-31#) 형식으로 날짜 값을 지정해야 합니다. 연도를 먼저 지정하는 경우 슬래시를 사용할 수 있습니다. 이 요구 사항은 사용자 로캘과 컴퓨터의 날짜 및 시간 형식 설정에 독립적입니다.

이러한 제한 이유는 애플리케이션을 실행하는 로캘에 따라 코드의 의미가 변경되면 안 되기 때문입니다. #3/4/1998#Date 리터럴을 하드 코딩하고 1998년 3월 4로 지정한다고 가정해 보세요. mm/dd/yyyy를 사용하는 로캘에서는 3/4/1998이 의도한 대로 컴파일됩니다. 그러나 여러 국가와 지역에 애플리케이션을 배포한다고 가정해 보세요. dd/mm/yyyy를 사용하는 로캘에서는 하드 코딩된 리터럴이 1998년 4월 3일로 컴파일됩니다. yyyy/mm/dd를 사용하는 로캘에서는 리터럴이 잘못 지정되며(0003년 4월 1998일) 컴파일러 오류가 발생합니다.

해결 방법

Date 리터럴을 해당 로캘 형식이나 사용자 지정 형식으로 변환하려면 Format 함수에 리터럴을 제공하고 미리 정의된 날짜 형식이나 사용자 정의 날짜 형식을 지정합니다. 다음은 이에 대한 예입니다.

MsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))

또는 DateTime 구조체의 오버로드된 생성자 중 하나를 사용하여 날짜 및 시간 값을 어셈블할 수 있습니다. 다음 예제에서는 1993년 5월 31일 오후 12:14를 나타내는 값을 만듭니다.

Dim dateInMay As New System.DateTime(1993, 5, 31, 12, 14, 0)

시간 형식

12시간제 또는 24시간제 형식으로 시간 값을 지정할 수 있습니다(예: #1:15:30 PM# 또는 #13:15:30#). 그러나 분 또는 초를 지정하지 않는 경우 AM 또는 PM을 지정해야 합니다.

날짜 및 시간 기본값

날짜/시간 리터럴에 날짜를 포함하지 않으면 Visual Basic에서 값의 날짜 부분을 0001년 1월 1일로 설정합니다. 날짜/시간 리터럴에 시간을 포함하지 않으면 Visual Basic에서 값의 시간 부분을 그 날의 시작, 즉 자정(0:00:00)으로 설정합니다.

형식 변환

Date 값을 String 형식으로 변환하는 경우 Visual Basic에서 런타임 로캘에 지정된 약식 날짜 형식에 따라 날짜를 렌더링하고 런타임 로캘에 지정된 시간 형식(12시간제 또는 24시간제)에 따라 시간을 렌더링합니다.

프로그래밍 팁

  • Interop 고려 사항. 자동화 개체나 COM 개체와 같이 .NET Framework용으로 작성되지 않은 구성 요소를 조작하는 경우 다른 환경의 날짜/시간 형식이 Visual Basic Date 형식과 호환되지 않는 것에 유의하세요. 이러한 구성 요소에 날짜/시간 인수를 전달하는 경우 새로운 Visual Basic 코드에서 이 인수를 Date 대신 Double로 선언하고 변환 메서드 DateTime.FromOADateDateTime.ToOADate를 사용합니다.

  • 형식 문자. Date에는 리터럴 형식 문자 또는 식별자 형식 문자가 없습니다. 그러나 컴파일러가 숫자 기호(# #)로 묶인 리터럴을 Date로 처리합니다.

  • 프레임워크 형식. .NET Framework에서 해당하는 형식은 System.DateTime 구조체입니다.

예시

Date 데이터 형식의 변수 또는 상수는 날짜와 시간을 모두 보유합니다. 다음 예제에서는 이것을 보여 줍니다.

Dim someDateAndTime As Date = #8/13/2002 12:14 PM#

참고 항목