카테고리 없음

Sys.setlocale()

23임규민 2023. 12. 6. 21:28

Sys.Date() 함수를 사용하기 전에 Sys.setlocale() 함수를 사용한다면 로캘 설정을 변경하여 날짜시각을 출력할 수 있다.

 

format(Sys.Date(),"%A-%d-%m-%Y")
[1] "Wednesday-06-12-2023"

 

아무런 설정 없이 Sys.Date()를 실행하면 다음과 같이 Wednesday로 출력된다.

 

다음 달에 마카오로 전공 연수를 가는 기념으로,  Sys.setlocale() 함수를 통해 시간 및 날짜와 관련된 로캘 설정을 중국어로 변경해보겠다.

 

Sys.setlocale("LC_TIME",locale="zh_CN.UTF-8")

 

 format(Sys.Date(),"%A-%d-%m-%Y")
[1] "星期三-06-12-2023"

 

 

이후 기존에 입력했던 코드를 똑같이 작성해주면 이전과 달리 중국어로 요일이 표기됨을 알 수 있다.

 

=Sys.setlocale()을 통해 로캘 설정을 한국으로 변경해주면 %A는 세 글자, %a는 한 글자로 요일이 표기될 수 있다.

 

(질문: lubridate() 함수가 as.Date() 함수보다 모든 면에서 우월하다고 생각하는데, 굳이 as.Date() 함수를 사용하는 이유가 무엇인가요?)

=무거운 날짜 데이터를 다룰 때 복잡한 날짜나 시간 조작이 필요한 경우엔  as.Date()를 사용하는 것보다 lubridate() 함수를 사용하는 것이 훨씬 효율적이지만, 단순하게 날짜를 변환하는 과정은 as.Date()가 더 효율적인 경우도 존재한다. 그러나 거의 모든 경우에서 as.Date() 함수보다 월등한 lubridate() 함수를 사용한다.