이 예에서는 Tcl로 날짜 타임스탬프를 만드는 방법을 보여줍니다. 스크립트로 된 디자인 흐름에 날짜 타임스탬프를 사용하여 스크립트 실행 시점을 정확하게 기록할 수 있습니다. 설계 파일에 날짜 타임 스탬프를 작성하면 설계가 컴파일된 시점의 온칩 스토리지가 제공됩니다.
Tcl 명령을 사용하여 원하는 날짜와 시간 요소만으로 사용자 정의 형식의 날짜 시간 문자열을 생성할 수 있습니다. Tcl 명령 클럭 초를 사용하여 현재 시간 및 클럭 형식을 반환하여 사용자 정의 형식의 날짜 시간 문자열을 생성합니다. 날짜 시간 문자열 서식에 대한 자세한 내용은 날짜 및 시간 서식 웹 페이지를 참조하십시오. 여기에는 예제와 서식 키워드 표가 포함되어 있습니다.
다음은 날짜 시간 문자열에 대한 서로 다른 서식 옵션의 두 가지 예입니다.
예 1
다음 명령은 다음 순서로 다음 요소와 함께 포맷된 날짜 시간 문자열을 생성합니다.
- 4자리 연도
- 두 자리 달(01-12)
- 두 자리 일(01-31)
- 24시간 형식으로 두 자리 시간(00-23)
- 두 자리 분(00-59)
- 2자리 초(00-59)
클럭 형식 [클럭 초] -포맷 {%Y %m %d %H %M %S}
이 명령은 다음과 같은 문자열을 생성합니다.
2005 01 10 15 16 55
예 2
두 번째 예에서는 다음 요소와 함께 형식이 지정된 날짜 시간 문자열을 다음 순서로 생성합니다.
- 축약된 월명 다음 기간
- 월의 두 자리 수일 뒤 쉼표
- 4자리 연도
- HH:MM:SS 형식의 시간
- AM/PM 표시기
클럭 형식 [클럭 초] -포맷 {%b. %d, %Y%I:%M:%S %p}
이 명령은 다음과 같은 문자열을 생성합니다.
2005년 1월 10일 오후 03:31:20
날짜 시간 문자열 변환
일반적으로 ASCII 날짜 시간 문자열을 다른 형식(예: 16진수 또는 바이너리)으로 변환하여 레지스터 뱅크 또는 메모리에 저장해야 합니다. 다음은 형식 변환의 두 가지 예입니다.
소수점에서 16진수까지
숫자 값만 생성하는 날짜 시간 요소를 사용하는 경우 변환 목적으로 소수 숫자로 처리할 수 있습니다. 다음 명령은 연도의 날짜 스탬프(001 - 366)를 생성하고, 그 다음에는 24시간 형식으로 시간, 그 다음 분을 생성합니다.
set str [클럭 포맷 [클럭 초] -format {%j%H%M}] 설정 [포맷 "%X" $str]
이 명령은 다음과 같은 문자열을 변수 아웃에서 생성합니다.
17D40F
ASCII - 헥사데시말
다음 명령은 날짜 시간 문자열을 생성하고 변수 아웃에 저장된 16진수 문자열로 변환합니다. 각 16진수 숫자는 ASCII 문자의 16진수 코드입니다.
set str [클럭 포맷 [클럭 초] -포맷 {%b. %d, %Y%I:%M:%S %p}] 바이너리 스캔 $str "H*" 아웃
이 명령은 다음과 같은 문자열을 변수 아웃에서 생성합니다.
4a616e2e2031302c2032303030352032030333a33363a303520504d