본문 바로가기

■ 단축어 강의/B. 단축어 만들기 (기초)

[B-20] 날짜와 관련된 기능

반응형



이번 강의에서는 날짜와 관련된 다양한 기능에 대해 알아보겠습니다.





:: 날짜


< 사진 1 > 현재 날짜 가져오기



"날짜"는 현재 날짜 또는 지정하는 날짜를 가져올 수 있습니다.



< 사진 2 > 지정일



"지정일"은 직접 입력하는 날짜를 가져오는 기능입니다.

2018년 10월 28일 / 20181028 / 2018. 10. 28. / 2018-10-28 등 다양한 형식을 지원합니다.


시간을 입력하지 않을 경우 12:00로 표시됩니다.






:: 날짜 조절


< 사진 3 > 날짜 조절



"날짜 조절"은 입력받은 날짜에서 지정하는 조건으로 날짜를 변경하는 기능입니다.


저는 현재 날짜를 가져와서 조절해보겠습니다.


기본적으로 "추가"로 설정되어 있습니다. "추가" 버튼을 누르면 다른 모드로 변경가능합니다.


"추가"는 입력받은 날짜에서 초, 분, 시간, 일, 월, 년 등을 추가해서 계산하는 기능입니다.


"초"를 누르면 다양한 옵션으로 변경가능합니다.


< 사진 4 > 날짜 조절 "추가"



"추가"외에도 빼기와 각 단위의 시작을 구할 수 있는 기능이 있습니다.


아래 사진을 참고하시길 바랍니다.


< 사진 5 > 날짜 조절의 다양한 옵션



"~ 시작"이라는 메뉴가 보이실 것입니다.


처음에는 무슨 의미인지 헷갈립니다.



예를 들어서 설명드리겠습니다.



입력받은 시간이 "2018년 10월 28일 12시 31분 15초"라고 하겠습니다.



분 시작 : 2018년 10월 28일 12시 31분

시 시작 : 2018년 10월 28일 12시 00분

일 시작 : 2018년 10월 28일 00시 00분

월 시작 : 2018년 10월 01일 00시 00분

해 시작 : 2018년 01월 01일 00시 00분


결과 값은 위와 같습니다. 각 옵션을 기준으로 시작을 구하는 기능입니다.







:: 날짜 포맷 지정


< 사진 6 > 날짜 포맷 지정



"날짜 포맷 지정"은 입력받은 날짜의 형식을 지정하는 기능입니다.


날짜와 시간을 기준으로 설정할 수 있습니다.



< 사진 7 > 날짜 포맷


"없음"은 날짜를 생략합니다.


"짧게"와 "중간"은 한국어 설정에서는 차이점이 없습니다.


둘다 동일하게 "2018. 10. 28."로 표시됩니다.


"길게"의 경우 "2018년 10월 28일"로 표시됩니다.



영어 설정에서는 짧게는 "28/10/2018"로, 중간은 "28 Oct 2018"로, 길게는 "28 October 2018"로 표시됩니다. 



"상대적"은 현재 시간을 기준으로 날짜를 표시합니다.


< 사진 8 > 날짜 상대적 표시



흔히 아이폰의 기본 앱에서 날짜를 표시하는 방식입니다.


문자 메시지등에서 보면 "어제" "그저께" 등으로 날짜가 표시되는 것을 보셨을 겁니다.



다음은 시간 포맷입니다.



< 사진 9 > 시간 포맷



"짧게"는 시간과 분만 표시됩니다. (표시 형식 12:30)


"중간"은 초까지 표시됩니다. (표시 형식 12:30:14)


"길게"의 경우 GMT 표준시가 함께 표시됩니다. (표시 형식 12시 30분 14초 GMT+9)


"상대적""3시간 전", "1 일 전", "3 일 전" 이런식으로 표시됩니다.





자신만의 특정한 표기법으로 날짜와 시간을 표시하고 싶으면 어떻게 해야할까요?


"날짜 포맷"에서 "사용자 설정"을 선택하면 사용자가 원하는 형식으로 날짜와 시간을 표시할 수 있습니다.


< 사진 10 > 사용자 설정




"문자열 포맷 지정"란에 원하는 방식으로 입력하시면 됩니다.





E는 요일을 의미합니다.


E를 3개 이하로 적으면 "월", "화"처럼 요일 한 글자가 표시됩니다.

EEEE라고 적으면 "월요일", "화요일"로 표시됩니다.


소문자 e는 요일을 숫자로 표시합니다. 일요일(1)~토요일(7)로 표시됩니다.






W는 주(week)를 의미합니다.


대문자 W는 입력된 날짜가 해당 월의 몇 번 째 주인지 숫자로 표시합니다.

소문자 w는 입력된 날짜가 해당 년의 몇 번 째 주인지 숫자로 표시합니다.






F는 입력된 날짜의 요일이 해당 월의 몇 번 째 요일인지 숫자로 표시합니다.


예를 들어 2018년 11월 15일 (목)은 11월의 3번째 목요일이므로 결과 값은 3입니다.


주의하실 점은 몇 번 째 "주"인지와는 상관없이 해당 요일이 몇 번 째인지를 판단합니다.


첫째 주가 금요일로 시작했다면, 둘째 주 수요일의 F값은 2가 아니라 1입니다.







y는 연도(year)를 의미합니다.


yy라고 입력하면 연도 끝 두자리가 표시됩니다. yyyy라고 입력하면 네자리로 표시됩니다.






M은 월(month)을 의미합니다.


M은 한 자리 월인 경우 한 자리로 표시합니다. 물론 두 자리 월은 두 자리로 표시됩니다. (예 : 1, 2, 11)

MM은 한 자리 월인 경우에도 두 자리로 표시합니다. (예 : 01, 02)

MMM은 숫자 뒤에 "월"이 표시됩니다. (예 : 1월, 10월)







d는 일(day)을 의미합니다.


사용법은 M과 동일합니다. 다만, d의 경우에는 ddd라고 입력해도 "일"이 표시되지는 않습니다.

앞을 0으로 채워서 표시됩니다. ddd의 경우 001로 표시됩니다.


그렇다면, "일"을 넣고 싶다면 어떻게 할까요?

간단합니다. "d일" 또는 "dd일"이라고 적으면 됩니다.






h와 H는 시간(hour)을 의미합니다.


h(H)는 한 자리로 표시, hh(HH)는 두 자리 표시입니다.


소문자와 대문자의 차이는 소문자 h는 12시간 표시방식이고, H는 24시간 표시방식입니다.


만약 시간 앞에 "오전" "오후"를 넣고 싶으면 "a"를 넣으시면 됩니다.






m은 분(minute)을 의미합니다.


s는 초(second)를 의미합니다.


Z는 GMT 표준시간을 표시합니다.




예를들어 "18년 07월 3일 오전 9시 02분 3초"라고 표시하고 싶으면


"yy년 MM월 d일 a h시 mm분 s초"라고 입력하시면 됩니다.



"2018-07-03 13:20:04"라고 표시하고 싶으면


"yyyy-MM-dd HH:mm:ss"라고 입력하시면 됩니다.



원칙대로라면 날짜 포맷을 제외한 글자에는 '(작은따옴표)를 붙여서 표시해야합니다.


yyyy'년' MM'월' dd'일' 이렇게 말입니다.


그렇기 때문에 작은따옴표는 결과에 표시되지 않습니다.


만약 작은따옴표 하나를 결과에 표시하고 싶다면 '' 연속으로 두 개를 쓰시면 됩니다.


hh o''clock 이렇게 적으면 10 o'clock 으로 표시됩니다.




:: 날짜 사이의 시간 가져오기



< 사진 11 > 날짜 사이의 시간 가져오기



"날짜 사이의 시간 가져오기"는 두 날짜 사이에서 시간의 차이를 구하는 기능입니다.



처음에 어떤 날짜를 어디에 두어야할지 헷갈릴 수 있습니다.


쉽게 생각하시면 됩니다. 우리가 수식을 적듯이 위에서 아래를 빼는 방식입니다.



  날짜 1

- 날짜 2

-----------

= 결과




날짜 1은(변수 혹은 날짜) "날짜 사이의 시간 가져오기" 위에 위치시킵니다.


그리고 날짜 2"다음에서 시간 가져오기"에 입력합니다. 



아래에 오는 날짜가 더 큰 경우 음수로 표시됩니다.



일시는 총 시간, 초, 분, 시간, 일, 주, 연도 등으로 구할 수 있습니다.


"총 시간"을 하시면 위 화면과 같이 적당한 형식에 맞춰서 표시해줍니다.


"초"를 선택하실 경우 276845와 같이 전체를 초로 계산하여 보여줍니다.






:: 입력에서 날짜 가져오기



입력에서 날짜 가져오기는 위의 입력에서 적절한 날짜 형식이 있으면 이를 가져오는 기능입니다.


< 사진 12 > 입력에서 날짜 가져오기



중간에 이상한 글자가 섞여있어도 적절한 날짜 형식을 찾아서 가져오는 것을 확인할 수 있습니다.


특정한 경우에는 "텍스트 일치"로 날짜를 찾는 것보다 이 방법이 더 쉬울 수 있습니다.


모든 경우에 성공을 장담하지는 않습니다. 



예를 들어 위 문장을 "안녕 2018년 테스트 10월 1일 하하 1시 반갑습니다" 라고 바꾸어서 실행하면,


결과는 2018. 10. 1. 12:002018. 10. 28. 01:00 두 개로 표시됩니다. ( 10월 28일은 현재 날짜입니다)


반응형