
다음은 "2025/09/09 14:04:30"이라는 날짜와 시간을 출력하는 다양한 파이썬 코드 예시입니다.
#1. datetime 모듈 사용하기
날짜와 시간을 다룰 때 가장 일반적이고 권장되는 방법은 파이썬의 내장 datetime 모듈을 사용하는 것입니다. 이 방법은 날짜와 시간에 대한 다양한 연산을 수행할 때 특히 유용합니다.
from datetime import datetime
# 특정 날짜와 시간으로 datetime 객체 생성
specific_datetime = datetime(2025, 9, 9, 14, 4, 30)
# 원하는 형식의 문자열로 변환
formatted_string = specific_datetime.strftime("%Y/%m/%d %H:%M:%S")
print(formatted_string)
코드 분석
from datetime import datetime
이 줄은 Python의 표준 라이브러리인 **datetime**에서 datetime 클래스를 가져옵니다. datetime 모듈은 날짜와 시간을 다루는 데 필요한 다양한 클래스(예: date, time, datetime, timedelta 등)를 포함하고 있으며, 그 중 datetime 클래스는 날짜(년, 월, 일)와 시간(시, 분, 초, 마이크로초) 정보를 모두 담을 수 있습니다.
specific_datetime = datetime(2025, 9, 9, 14, 4, 30)
이 줄은 datetime 클래스의 생성자를 호출하여 특정 날짜와 시간 정보를 담은 datetime 객체를 만듭니다. 괄호 안의 숫자들은 순서대로 년, 월, 일, 시, 분, 초를 의미하며, 이를 통해 2025년 9월 9일 14시 4분 30초라는 특정 시점의 객체를 생성합니다. 이 객체는 단순히 텍스트가 아니라 날짜와 시간 정보를 데이터로 가지고 있어, 이후 날짜 계산(예: 며칠 후, 몇 시간 전)에 활용될 수 있습니다.
formatted_string = specific_datetime.strftime("%Y/%m/%d %H:%M:%S")
이 줄은 생성된 datetime 객체(specific_datetime)를 strftime() 메서드를 사용하여 사용자가 원하는 문자열 형식으로 변환합니다. strftime은 "string format time"의 약자로, 날짜와 시간을 특정 형식의 문자열로 변환하는 데 사용됩니다.
괄호 안의 "**%Y/%m/%d %H:%M:%S**"는 포맷 코드라고 불리며, 각각 다음과 같은 의미를 가집니다:
- %Y: 4자리 연도 (e.g., 2025)
- %m: 2자리 월 (e.g., 09)
- %d: 2자리 일 (e.g., 09)
- %H: 24시간 형식의 2자리 시간 (e.g., 14)
- %M: 2자리 분 (e.g., 04)
- %S: 2자리 초 (e.g., 30)
이 포맷 코드를 통해 datetime 객체는 **"2025/09/09 14:04:30"**이라는 문자열로 변환되어 formatted_string 변수에 저장됩니다.
print(formatted_string)
마지막으로, 이 줄은 변수 formatted_string에 저장된 문자열 값을 화면에 출력합니다. 이로써 최종 결과인 "2025/09/09 14:04:30"이 콘솔에 나타나게 됩니다.
이 코드는 datetime 객체를 생성하고, 이를 strftime() 메서드로 포맷팅하는 표준적이고 모범적인 방법을 보여줍니다.
#2. f-스트링 사용하기
날짜와 시간이 고정되어 있고 별도의 계산이 필요하지 않을 경우, f-스트링(f-string)을 사용하면 코드를 간결하고 깔끔하게 작성할 수 있습니다.
# 고정된 값을 f-스트링에 직접 삽입하여 출력
output_string = f"2025/09/09 14:04:30"
print(output_string)
코드 분석
# 고정된 값을 f-스트링에 직접 삽입하여 출력
이 줄은 코드에 대한 주석으로, 해당 코드의 목적이 f-스트링을 사용해 고정된 값을 출력하는 것임을 설명하고 있습니다. 주석은 프로그램 실행에 영향을 주지 않고, 코드를 읽는 사람이 쉽게 이해하도록 돕습니다.
output_string = f"2025/09/09 14:04:30"
이 줄은 f-스트링을 사용해 "2025/09/09 14:04:30"이라는 문자열을 output_string이라는 변수에 할당합니다.
- f-스트링: 파이썬 3.6부터 도입된 기능으로, 문자열 리터럴 앞에 f를 붙여 사용합니다. 문자열 내부에 {}를 사용하여 변수나 표현식을 직접 삽입할 수 있어 코드가 간결하고 읽기 쉽습니다.
- 고정된 값: 이 코드에서는 {}를 사용하지 않고 날짜와 시간 정보 자체가 문자열 안에 직접 작성되어 있습니다. 따라서 이 f-스트링은 단순한 문자열 리터럴과 동일하게 동작합니다. 이는 날짜와 시간이 변하지 않는 정적인(static) 값일 때 가장 간단한 방법입니다.
print(output_string)
마지막으로, print() 함수를 사용하여 output_string 변수에 저장된 문자열 값을 콘솔에 출력합니다. 이 코드를 실행하면 "2025/09/09 14:04:30"이라는 텍스트가 화면에 표시됩니다.
이 코드는 datetime 모듈과 같은 복잡한 계산이나 포맷팅이 필요 없고, 단순히 특정 문자열을 출력할 때 가장 직관적이고 효율적인 방법을 보여줍니다.
#3. 문자열 연결 사용하기
가장 기본적인 방법으로, 문자열을 직접 연결하여 날짜와 시간을 만들 수도 있습니다.
year = "2025"
month = "09"
day = "09"
hour = "14"
minute = "04"
second = "30"
# 문자열을 결합하여 출력
output_string = year + "/" + month + "/" + day + " " + hour + ":" + minute + ":" + second
print(output_string)
코드 분석
year = "2025" month = "09" day = "09" hour = "14" minute = "04" second = "30"
이 부분은 날짜와 시간의 각 구성 요소를 문자열 타입의 변수에 할당하는 과정입니다. 숫자처럼 보이지만, 따옴표(" ")로 둘러싸여 있기 때문에 컴퓨터는 이 값들을 계산 가능한 숫자가 아닌 단순한 텍스트로 인식합니다.
# 문자열을 결합하여 출력 output_string = year + "/" + month + "/" + day + " " + hour + ":" + minute + ":" + second
이 줄은 위에 정의된 여러 문자열 변수와 고정된 구분자들(", " ", ":")을 + 연산자를 사용해 하나로 합치는 과정입니다. Python에서 + 연산자는 숫자 사이에서는 덧셈을 수행하지만, 문자열 사이에서는 두 문자열을 이어붙이는 결합(Concatenation) 역할을 합니다.
예를 들어, "Hello" + "World"는 "HelloWorld"가 됩니다. 이 코드도 마찬가지로, 각 변수와 구분자가 순서대로 이어져 최종적으로 "2025/09/09 14:04:30"이라는 하나의 문자열을 만듭니다. 이 문자열이 output_string이라는 변수에 할당됩니다.
print(output_string)
마지막으로, print() 함수를 사용하여 output_string 변수에 저장된 최종 문자열 값을 화면에 출력합니다.
이 코드는 datetime 모듈과 같은 특별한 기능 없이 기본적인 문자열 처리 기능만으로 원하는 결과를 얻는 방법을 보여줍니다. 날짜와 시간이 변하지 않는 고정된 값일 경우, 이처럼 단순한 문자열 결합 방식도 충분히 효과적입니다. 하지만 날짜를 계산하거나 유연하게 형식을 바꿔야 할 때는 datetime 모듈을 사용하는 것이 훨씬 더 효율적입니다.
#4. sep과 end를 활용한 출력방법
print() 함수에서 sep과 end 인수는 출력 방식에 유연성을 더해줍니다. 이 둘을 활용하여 원하는 출력 형식을 만드는 다양한 방법을 알아보겠습니다.
sep 인자 사용하기
sep는 **'separator'**의 약자로, print() 함수로 여러 값을 출력할 때 각 값 사이에 삽입할 문자를 지정합니다. 기본값은 공백(' ')입니다.
# sep의 기본값은 공백
print('2025', '09', '09', '14', '04', '30')
# 출력: 2025 09 09 14 04 30
# sep를 '/'와 ':'로 지정하여 날짜와 시간 형식으로 출력
print('2025', '09', '09', sep='/', end=' ')
print('14', '04', '30', sep=':')
# 출력: 2025/09/09 14:04:30
코드 분석
print() 함수의 기본 동작
첫 번째 코드 블록은 sep 인자를 지정하지 않았을 때의 print() 함수 기본 동작을 보여줍니다.
print('2025', '09', '09', '14', '04', '30')
print() 함수에 여러 개의 값을 쉼표로 구분하여 전달하면, 각 값은 기본적으로 **공백(' ')**으로 구분되어 출력됩니다. 이 공백이 바로 sep의 기본값입니다. 따라서 이 코드는 2025 09 09 14 04 30을 출력합니다.
sep와 end 인자 활용하기
두 번째 코드 블록은 sep와 end를 조합하여 복잡한 형식의 문자열을 출력하는 방법을 보여줍니다.
print('2025', '09', '09', sep='/', end=' ')
- sep='/': 이 인자는 **'separator'**의 약자로, print() 함수가 여러 값을 출력할 때 각 값 사이에 삽입할 문자를 지정합니다. 여기서는 기본 공백 대신 **슬래시(/)**를 사용하도록 설정했습니다. 따라서 '2025', '09', '09'는 2025/09/09로 출력됩니다.
- end=' ': 이 인자는 print() 함수가 출력 끝에 붙일 문자를 지정합니다. 기본값은 줄바꿈 문자(\n)이지만, 여기서는 **공백(' ')**을 사용하도록 설정했습니다. 이 때문에 2025/09/09를 출력한 후 커서가 다음 줄로 넘어가지 않고 공백을 남긴 채 대기합니다.
print('14', '04', '30', sep=':')
- 이 줄은 이전 print() 함수가 남긴 공백 바로 뒤에 출력됩니다.
- sep=':': 여기서는 **콜론(:)**을 구분자로 지정했습니다. 따라서 '14', '04', '30'은 14:04:30으로 출력됩니다.
결과적으로, 두 개의 print() 함수가 한 줄에 이어서 출력되면서 2025/09/09 14:04:30이라는 원하는 형식을 완성합니다.
요약하자면, **sep**는 값들 사이의 구분자를, **end**는 출력의 마지막 문자를 제어하여 print() 함수를 더욱 유연하게 사용할 수 있게 해줍니다.

'파이썬(문제풀이)' 카테고리의 다른 글
| 파이썬 구구단 출력 (0) | 2025.09.09 |
|---|---|
| 파이썬 1에서 100가지 더하기 (0) | 2025.09.09 |
| 파이썬 - 평균 점수 구하기 (0) | 2025.09.09 |
| 파이썬 모래시계 패턴 별찍기 (0) | 2025.09.09 |
| 파이썬 단어를 입력하면 거꾸로 출력 (0) | 2025.09.09 |