# Python time 모듈
Python의 time 모듈은 시간과 관련된 기능을 제공하는 모듈입니다. 이 모듈을 사용하면 현재 시간을 가져오거나 시간을 변환하는 등 다양한 작업을 할 수 있습니다.
## time 모듈 기본 사용법
1. `time()`: 현재 시각을 1970년 1월 1일 00:00:00(UTC)을 기준으로 초를 나타내는 실수형으로 반환합니다. 이를 유닉스 시간이라고도 합니다.
```python
import time
print(time.time())
```
2. `gmtime()`: 입력된 초를 UTC 기준으로 변환하여 struct_time 형식으로 반환합니다. 초를 넘겨주지 않으면 `time.time()`을 기준으로 변환 후 반환합니다.
```python
print(time.gmtime())
```
3. `localtime()`: 입력된 초를 현지 시간 기준으로 변환하여 struct_time 형식으로 반환합니다. 초를 넘겨주지 않으면 `time.time()`을 기준으로 변환 후 반환합니다.
```python
print(time.localtime())
```
4. `asctime()`: struct_time을 'Mon Feb 6 12:46:30 2023' 형식의 문자열로 변환하여 반환합니다. struct_time을 넘겨주지 않으면 `localtime()`을 기준으로 변환 후 반환합니다.
```python
print(time.asctime())
```
5. `strftime()`: 입력받은 struct_time을 포맷에 지정된 문자열로 변환하여 반환합니다. struct_time을 넘겨주지 않으면 `localtime()`을 기준으로 변환 후 반환합니다.
```python
print(time.strftime('%Z - %z \n%Y %B %d %A\n%p %I %M %s'))
```
6. `ctime()`: 현지 시간을 'Mon Feb 6 12:51:33 2023' 형식의 문자열로 반환합니다.
```python
print(time.ctime())
```
7. `sleep()`: 입력된 초만큼 스레드를 정지합니다.
```python
print(time.ctime())
time.sleep(10)
print(time.ctime())
```
## 예제 문제
0부터 1000000까지의 합을 구할 때 경과 시간을 표시하는 예제입니다.
```python
import time
start = time.time()
total = 0
for i in range(1000001):
total += i
end = time.time()
print('경과 시간 = {}'.format(end - start))
```
## 오늘 날짜 및 요일 표시
오늘의 날짜와 요일을 출력하는 예제입니다.
```python
import time
tm = time.localtime()
year = tm.tm_year
month = tm.tm_mon
day = tm.tm_mday
wday = tm.tm_wday
day_dict = {0: '월', 1: '화', 2: '수', 3: '목', 4: '금', 5: '토', 6: '일'}
print('오늘은 {}년 {}월 {}일 {}요일입니다'.format(year, month, day, day_dict[wday]))
```
## FAQ
### Q: `time.asctime()`을 사용할 때 struct_time을 넘겨주지 않으면 어떤 시간을 반환하나요?
A: `time.asctime()`은 `localtime()`을 기준으로 변환된 시간을 반환합니다.
### Q: `time.sleep()` 함수는 무엇을 하는 함수인가요?
A: `time.sleep()` 함수는 입력된 초만큼 현재 스레드를 정지시킵니다.
### Q: `time.strftime()` 함수에서 사용되는 포맷 문자열은 어떻게 작성해야 하나요?
A: 포맷 문자열은 `%`로 시작하는 서식 지정자를 사용하여 작성하며, 각 지정자는 날짜 및 시간 요소를 나타냅니다. 예를 들어 `%Y`는 년도를 나타내고, `%B`는 월의 이름을 나타냅니다.
### Q: `time.localtime()` 함수와 `time.gmtime()` 함수의 차이점은 무엇인가요?
A: `time.localtime()` 함수는 입력된 초를 현지 시간 기준으로 변환하여 반환하는 반면, `time.gmtime()` 함수는 UTC 기준으로 변환하여 반환합니다.