날짜와 시간을 다양한 형식으로 표시하는 것은 프로그램에서 가장 일반적으로 사용되는 기능입니다. Python은 간단한 것부터 복잡한 것까지 일련의 시간 처리 방법을 제공하는 시간 처리 datetime을 위한 표준 함수 라이브러리를 제공합니다.
datetime 라이브러리는 시스템에서 시간을 가져와 사용자가 선택한 형식으로 출력할 수 있습니다.
datetime 라이브러리는 그리니치 표준시를 기반으로 하며 각 날짜는 3600X24초로 정확하게 정의됩니다. 라이브러리에는 datetime.MINYEAR 및 datetime.MAXYEAR라는 두 가지 상수가 포함되어 있으며, 이는 각각 datetime이 나타낼 수 있는 최소 및 최대 연도를 나타냅니다. 값은 각각 1 및 9999입니다.
datetime 도서관에서는 수업 형태로 다양한 날짜 및 시간 표현을 제공합니다.
(1) datetime.date: 연, 월, 일 등을 나타낼 수 있는 날짜 표현 클래스입니다.
(2) datetime.time: 시간, 분, 초, 밀리초 등을 나타낼 수 있는 시간 표현 클래스입니다.
(3) datetime.dateime: 날짜 및 시간 클래스를 다루는 함수를 포함하는 날짜 및 시간을 나타내는 클래스입니다.
(4) datetime.timedelta: 시간 간격과 관련된 클래스입니다.
(5) datetime.tzinfo : 타임존과 관련된 정보 표현 클래스입니다.
datetime.daetime 클래스는 표현형식이 가장 풍부하므로 여기서는 이 클래스의 사용법을 주로 소개합니다. datetime 클래스를 사용하려면 import 예약어를 사용해야 합니다. datetime 클래스를 참조하는 방법은 다음과 같습니다.
from datetime import datetime
현대 컴퓨터 시스템에는 다음과 같은 타이밍 기능이 있습니다. Green에서 출력할 수 있습니다. UTC 1970년 1월 1일 00:00:00을 시작으로 시간을 계산하는 것이 UNIX 운영의 초기 설계 습관입니다. 시스템이며 컴퓨터 시스템의 모든 이후 세대에 사용됩니다.
현재 컴퓨터 하드웨어와 시스템은 모두 64비트입니다. 이 시간수를 64비트로 저장한다면 최대 거리는 1970년1월1부터 264초로 나타낼 수 있습니다. 일, 1년365일의 총 초 수는 약 1.9x224이므로 64비트 컴퓨터 시스템은 약 239 AD의 시간을 나타낼 수 있습니다. 저는 우리의 N을 믿습니다. 대대로의 후손들, 심지어 지구까지 멸망의 날에 부정확한 시간을 걱정할 필요가 없습니다.
——왜 1970년1월1부터 시작하도록 선택했나요? ——어떤 날짜부터 시작하든 문제는 똑같겠죠?
datetime 클래스(datetime.datetime 클래스, 이하 datetime 클래스)는 먼저 datetime 객체를 생성한 후 객체의 메서드와 속성을 통해 시간을 표시하는 방식으로 사용됩니다. . datetime 객체를 생성하는 방법에는 datetime.now(), datetime.utcnow() 및 datetime.datetime()이라는 세 가지 방법이 있습니다.
1. datetime.now()를 사용하여 현재 날짜 및 시간 개체를 가져옵니다. 사용 방법은 다음과 같습니다.
datetime.now()
Function: 현재 날짜 및 시간을 마이크로초 단위로 정확하게 나타내는 datetime 유형을 반환합니다. . 매개변수: 없음 이 함수를 호출하면 실행 결과는 다음과 같습니다.
from datetime import datetime today = datetime.now() print(today)
2022-05-01 20:32:41.772021
2 datetime utcnow()를 사용하여 UTC(세계 표준)을 가져옵니다. 현재 날짜 및 시간 Time) 시간 개체에 해당하는 경우 사용 방법은 다음과 같습니다.
datetime.utcnow ()
함수: 현재 날짜 및 시간의 UTC 표현을 마이크로초까지 정확하게 나타내는 datetime 유형을 반환합니다. 매개변수: 없음 이 함수를 호출하면 실행 결과는 다음과 같습니다.
from datetime import datetime today = datetime.utcnow() print(today)
2022-05-01 12:35:40.849860
3.datetime.now() 및 datetime utcnow() 둘 다 a를 반환합니다. datetime 유형 객체, datetime()을 사용하여 날짜 및 시간 객체를 직접 구성할 수도 있습니다. 사용 방법은 다음과 같습니다.
datetime (year, month, day, hour=0, minute=0,second=0, microsecond=0)
함수: 지정된 날짜 및 시간을 나타내는 datetime 유형을 반환합니다. 이는 마이크로초 단위까지 정확할 수 있습니다.
매개변수는 다음과 같습니다.
year: 지정된 연도, MINYEAR <= year <= MAXYEAR
month: 지정된 달, 1 <= Month < ;= 12
day: 지정된 날짜, 1 <= day <= 월에 해당하는 날짜의 상한
hour: 지정된 시간, 0 <= hour < 24
분: 지정된 분, 0 <= 분 <
second:指定的秒数,0 <= second < 60
microsecond:指定的微秒数,0 <= microsecond < 1000000
其中,hour、minute、second、microsecond 参数可以全部或部分省略。
调用 datetime() 函数直接创建一个 datetime 对象,表示 2022 年 5 日 1 日 20:33,32 秒 7 微妙,执行结果如下:
from datetime import datetime someday = datetime(2022, 5, 1, 20, 43, 32, 7) print(someday)
2022-05-01 20:43:32.000007
到此,程序已经有了一个 datetime 对象,进一步可以利用这个对象的属性显示时间,为了区别 datetime 库名,采用上例中的 someday 代替生成的 datetime 对象,常用属性如下表所示。
属性 | 描述 |
someday.min | 固定返回 datetime 的最小时间对象,datetime(1,1,1,0,0) |
someday.max | 固定返回 datetime 的最大时间对象,datetime(9999,12,31,23,59,59,59,999999) |
someday.year | 返回 someday 包含的年份 |
someday.month | 返回 someday 包含的月份 |
someday.day | 返回 someday 包含的日期 |
someday.hour | 返回 someday 包含的小时 |
someday.minute | 返回 someday 包含的分钟 |
someday.second | 返回 someday 包含的秒钟 |
someday.microsecond | 返回 someday 包含的微妙值 |
datetime 对象有 3 个常用的时间格式化方法,如下表所示
属性 | 描述 |
someday.isoformat() | 采用 ISO 8601 标准显示时间 |
someday.isoweekday() | 根据日期计算星期后返回 1~7,对应星期一到星期日 |
someday.strftime(format) | 根据格式化字符串 format 进行格式显示的方法 |
isoformat() 和 isoweekday() 方法的使用如下:
from datetime import datetime today = datetime.now() print(today.isoformat()) print(today.isoweekday())
程序执行结果如下:
2022-05-01T21:00:28.392304
7
strftime() 方法是时间格式化最有效的方法,几乎可以以任何通用格式输出时间。例如下面的例子,用该方法输出特定格式时间。
from datetime import datetime today = datetime.now() print(today.strftime("%Y-%m-%d %H : %M : %S"))
程序执行结果如下:
2022-05-01 21 : 04 : 23
下表是 strftime() 方法的格式化控制符。
格式化字符串 | 日期/时间 | 值范围和实例 |
%Y | 年份 | 0001~9999 |
%m | 月份 | 01~12 |
%B | 月名 | January~December |
%b | 月名缩写 | Jan~Dec |
%d | 日期 | 01~31 |
%A | 星期 | Monday~Sunday |
%a | 星期缩写 | Mon~Sun |
%H | 小时(24 h 制) | 00~23 |
%M | 分钟 | 00~59 |
%S | 秒 | 00~59 |
%x | 日期 | 月/日/年,例如,01/01/2022 |
%X | 时间 | 时 :分:秒,例如,19 : 09 : 31 |
strftime() 格式化字符串的数字左侧会自动补零,上述格式也可以与 print() 的格式化函数起使用,例如:
from datetime import datetime now = datetime.now() print(now.strftime("%Y- %m- %d")) print(now.strftime("%A,%d. %B %Y %H: %M%p")) print("今天是 {0:%Y} 年 {0:%m} 月 {0:%d} 日".format(now))
程序执行结果如下:
2022- 05- 01
Sunday,01. May 2022 21: 21PM
今天是 2022 年 05 月 01 日
datetime 库主要用于对时间的表示,从格式化角度掌握 strftime() 函数已经能够处理很多情况了。建议读者在遇到需要处理时间的问题时采用 datetime 库,简化格式输出和时间的维护。
위 내용은 Python 날짜/시간 라이브러리를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!