728x90
제품의 유효기간을 설정할 때에 PC에 있는 시간이 아닌
인터넷 상의 Time Service를 이용하여 날짜/시간 확인이 필요한 경우
API를 이용하여 확인이 가능합니다.
아래처럼 브라우저의 URL를 입력해 보면 현재 시간을 알 수 있습니다.
http://worldtimeapi.org/timezone/Asia/Seoul
이걸 함수에서 사용할 수 있도록 API 주소를 아래와 같이 적용합니다.
http://worldtimeapi.org/api/timezone/Asia/Seoul
조회 결과는 json으로 아래처럼 접수됩니다.
{"abbreviation":"KST","client_ip":"000.000.000.000","datetime":"2023-03-27T12:50:33.717783+09:00","day_of_week":1,"day_of_year":86,"dst":false,"dst_from":null,"dst_offset":0,"dst_until":null,"raw_offset":32400,"timezone":"Asia/Seoul","unixtime":1679889033,"utc_datetime":"2023-03-27T03:50:33.717783+00:00","utc_offset":"+09:00","week_number":13}
이 중에서 "datetime":"2023-03-27T12:50:33.717783+09:00" 부분을 쪼개서 시간으로 만들어 반환합니다.
함수 이름은 서울표준시이므로 SeoulTime으로 합니다.
Public Function SeoulTime() As Variant
Dim rt As String
Const ServiceUrl As String = "http://worldtimeapi.org/api/timezone/Asia/Seoul"
On Error GoTo ERR_EXIT
With CreateObject("MSXML2.XMLHTTP.6.0")
.Open "GET", ServiceUrl, False
.send
rt = .ResponseText
End With
If InStr(1, rt, "utc_datetime", vbTextCompare) = 0 Then GoTo ERR_EXIT
rt = Left(rt, InStr(1, rt, "day_of_week", vbTextCompare) - 4)
rt = Mid(rt, InStr(1, rt, "DateTime", vbTextCompare) + 11)
SeoulTime = CDate(Replace(Mid(rt, 1, InStrRev(rt, ".") - 1), "T", " "))
Exit Function
ERR_EXIT:
SeoulTime = False
End Function
728x90
'Excel - VBA' 카테고리의 다른 글
Excel에서 원숫자를 50번까지 입력하기 (feat. 자동고침옵션) (0) | 2023.04.17 |
---|---|
Selenium Basic 사용중 Unexpected Alert Open Error (0) | 2023.03.28 |
샘플링 검사 (KS Q ISO 2859-1) 1회 샘플링 함수 만들기 (0) | 2023.03.20 |
Array로부터 1bit 단일색상 BMP 파일 만들기 (0) | 2023.03.11 |
Excel로 바코드 발행하는 추가기능 EGBarcode (v2.8) - Code 128, Code 39, 2of5 Interleaved, EAN13, Datamatrix, QR Code, PDF417, Aztec Code, GS1-128, GS1-Datamatrix (3) | 2023.03.06 |