다음을 통해 공유


Date 데이터 형식(Visual Basic)

업데이트: 2007년 11월

서기 1년 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의 기본값은 1년 1월 1일 0:00:00(자정)입니다.

형식 요구 사항

Date 리터럴을 숫자 기호(# #)로 묶어야 합니다. 날짜 값은 M/d/yyyy, 형식(예: #5/31/1993#)으로 지정해야 합니다. 이 요구 사항은 사용자의 로캘 및 사용자 컴퓨터의 날짜 및 시간 형식 설정과 무관합니다.

이러한 제한을 적용해야 응용 프로그램이 실행되고 있는 로컬에 따라 코드의 의미가 변경되지 않습니다. #3/4/1998#의 Date 리터럴을 하드 코드로 작성하여 1998년 3월 4일을 의미하려고 한다고 가정해 봅니다. mm/dd/yyyy를 사용하는 로캘에서 3/4/1998은 의도했던 날짜를 의미할 것입니다. 그러나 응용 프로그램을 여러 국가에 배포한다고 가정해 봅니다. dd/mm/yyyy를 사용하는 로캘에서는 하드 코드된 리터럴이 1998년 4월 3일로 컴파일될 것입니다. 또한 yyyy/mm/dd를 사용하는 로캘에서는 리터럴이 유효하지 않기 때문에(3년 4월 1998일) 컴파일러 오류가 발생합니다.

해결 방법

Date 리터럴을 로캘의 형식이나 사용자 지정 형식으로 변환하려면 Format 함수에 리터럴을 제공하고 미리 정의된 날짜/시간 형식(Format 함수) 또는 사용자 정의 날짜/시간 형식(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은 이 값의 날짜 부분을 1년 1월 1일로 설정합니다. 날짜/시간 리터럴에 시간이 포함되지 않으면 Visual Basic은 이 값의 시간 부분을 날짜의 시작, 즉 자정(0:00:00)으로 설정합니다.

형식 변환

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

프로그래밍 팁

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

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

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

예제

Date 데이터 형식의 변수나 상수는 날짜와 시간을 모두 저장합니다. 다음은 이에 대한 예입니다.

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

참고 항목

개념

데이터 형식의 효율적 사용

Visual Basic 6.0 사용자를 위한 데이터 형식 변경 사항

참조

데이터 형식 요약(Visual Basic)

System.DateTime

형식 변환 함수

변환 요약