본문 바로가기

카테고리 없음

Python time 모듈 사용법 및 예제 문제와 FAQ

# 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 기준으로 변환하여 반환합니다.