>  기사  >  백엔드 개발  >  Python의 datetime 모듈 사용법 및 일반적인 방법 요약

Python의 datetime 모듈 사용법 및 일반적인 방법 요약

不言
不言원래의
2018-09-19 14:56:2320626검색

이 글은 파이썬에서 datetime 모듈의 일반적인 사용법과 일반적인 방법을 요약한 것입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

datetime 모듈은 더 많은 인터페이스를 제공하기 위해 time 모듈을 다시 캡슐화합니다. 제공되는 클래스는 다음과 같습니다:

date, 날짜를 나타내는 클래스

time , 시간을 나타내는 클래스

datetime, 날짜와 시간을 나타내는 클래스

timedelta, 시간 간격, 즉 두 시점 사이의 간격을 나타내는

# 🎜🎜# tzinfo, 시간대 관련 정보

(이 클래스의 개체는 변경 불가능)

(클래스에는 클래스 메서드가 있고, 클래스 메서드에는 메서드가 있으며, 메서드는 클래스를 상속합니다. 방법)

1, 데이트 클래스

datetime.date (년, 월, 일)

일반적으로 사용되는 클래스 메서드 및 속성: # 🎜🎜#

date.max객체가 나타낼 수 있는 최대 날짜(9999-12) - 31) date.min객체가 할 수 있는 것 최소 날짜(0001-01-01)를 나타냅니다. date.today()#🎜 🎜#날짜 객체는 다음을 나타냅니다. 날짜의 가장 작은 단위(일)주어진 타임스탬프를 기반으로 날짜 객체를 반환합니다.

구현:

클래스 메서드

import datetime
import time
print(datetime.date.max)
print(datetime.date.min)
print(datetime.date.today())
print(datetime.date.resolution)
print(datetime.date.fromtimestamp(time.time()+3600000))      # 给定时间戳的 日期

result

9999-12-31
0001-01-01
2018-09-17
1 day, 0:00:00
2018-10-29

일반적으로 사용되는 메서드 및 속성:

#🎜🎜 # 현재 현지 시간을 나타내는 날짜 객체를 반환합니다. # date.solution
date.fromtimestamp(timestamp)
日d.replace(연도[,월[,일]])#🎜 반환 날짜는 0001-01- 이후 몇 일입니까? 01 🎜#다음 형식의 튜플을 반환합니다. (연도, 평일, iso주중)# 🎜🎜#d.strftime()#🎜 🎜##🎜 🎜#사용자 정의 형식의 문자열(시간 모듈의 strftime() 메서드와 동일)
d.
d.month# 🎜 #
#🎜 🎜 #새 날짜 객체를 생성하고 반환하면 원래 날짜 객체는 변경되지 않습니다. 🎜🎜#d.timetuple() #🎜 🎜#날짜에 해당하는 시간 튜플(time.struct_time) 객체를 반환합니다
반납일은 요일, [0,6], 0은 월요일, 1은 화요일 d.isoweekday()
반환 날짜는 요일이며, [1,7], 1은 월요일, 2는 화요일을 의미합니다 #🎜 🎜## 🎜🎜# d.isocalendar()
d.isoformat()
#🎜 🎜#'YYYY-MM- DD의 날짜 문자열' 형식으로 돌아가기

实现:

方法

print(datetime.date.year)              # <attribute &#39;year&#39; of &#39;datetime.date&#39; objects>
print(datetime.date.today().year)     # 本地时时间的年
print(datetime.date.fromtimestamp(time.time()+3600000).month)   # 给定时间戳的 月
print(datetime.date.today().day)  # 日

print(datetime.date.today().replace(year=2019))
print(datetime.date.today().timetuple())
print(datetime.date.today().toordinal())
print(datetime.date.today().weekday())
print(datetime.date.today().isoweekday())
print(datetime.date.today().isocalendar())
print(datetime.date.today().isoformat())
print(datetime.date.today().strftime(&#39;%Y-%m-%d-%a-%I&#39;))

result

<attribute &#39;year&#39; of &#39;datetime.date&#39; objects>
10
2019-09-17
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=0, tm_yday=260, tm_isdst=-1)
0
(2018, 38, 1)
2018-09-17
2018-09-17-Mon-12

result

2、time类

其中,time类和time模块各自独立

datetime.time(hour[,minute[,decond[,microsecond[,tzinfo]]]])

常用的类方法与属性:

time.max 表示的最大时间
time.min                  表示的最小时间
time.resolution 时间的最小单位,这里是1微秒                                                                         

常用的方法与属性:

t.hour
t.minute               
t.second
t.microsecond 微秒
t.tzinfo 时区信息
t.replace() 用参数指定替代(时,分,秒,微秒,时区)对象,生成并返回新的对象
t.isoformat() 返回'HH:MM:SS'格式字符串
t.strftime() 返回自定义格式化字符串

3. 날짜 시간 클래스

는 날짜와 시간

datetime.datetime(년,월,일[,시간[,분[,초[,마이크로초[,tzinfo]])을 결합하는 것과 같습니다. ]]])

일반적으로 사용되는 클래스 메서드 및 속성:

ㅋㅋㅋ

实现:

类方法

import datetime
import time
print(datetime.datetime.resolution)
print(datetime.datetime.today())
print(datetime.datetime.now())
print(datetime.datetime.utcnow())
print(datetime.datetime.fromtimestamp(time.time()))
print(datetime.datetime.utcfromtimestamp(time.time()))
print(datetime.datetime.combine(datetime.date(2019, 3, 5), datetime.time(3, 2, 45)))
print(datetime.datetime.strftime(datetime.date(2019,9,2),&#39;%Y-%m-%d %X&#39;))

result

0:00:00.000001
2018-09-17 20:32:36.868500
2018-09-17 20:32:36.868500
2018-09-17 12:32:36.868500
2018-09-17 20:32:36.868500
2018-09-17 12:32:36.868500
2019-03-05 03:02:45
2019-09-02 00:00:00

其中常用的方法与属性:

datetime.max 최대 날짜
datetime.min 최소 날짜
datetime.now ([tz]) 현재 현지 시간을 반환합니다. tz가 지정된 경우 tz 시간대 현지 시간을 반환합니다
datetime.utcnow() 현재 UTC 시간을 반환합니다.
datetime .fromtimestamp(timestamp[,tz]) 주어진 타임스탬프에 따라 datetime 객체를 반환합니다. tz가 지정되면 tz 시간대 datetime 객체가 반환됩니다
datetime .utcfromtimestamp(timestamp) Timestamp에 따라 datetime 객체를 생성합니다
datetime.combine(date, time) 지정된 날짜 및 시간 객체를 datetime 객체에 통합
datetime.strftime(date_string,format) 서식화된 문자열을 날짜/시간 객체로 변환
#🎜 🎜##🎜 🎜 #dt.date()dt의 날짜 객체 가져오기dt.time()dt.timetz()Returns the time tuple (time.struct_time) 날짜 및 시간(tzinfo 제외) #🎜🎜 #dt.utctimetuple()#🎜🎜 ##🎜 🎜#dt 객체에 해당하는 타임스탬프를 반환합니다반납 날짜는 0001-01-01부터 시작하는 숫자입니다. 일(날짜 클래스와 동일) #🎜🎜 #반환 형식은 'YYYY-MM-DD HH:MM:SS' 문자열과 같습니다. #🎜🎜 #dt.ctime()

实现:

方法

import datetime,time
print(datetime.datetime.today().tzinfo)
print(datetime.datetime.today().date())
print(datetime.datetime.today().time())
print(datetime.datetime.today().timetz())
print(datetime.datetime.today().timetuple())
print(datetime.datetime.today().timestamp())
print(datetime.datetime.today().ctime())

result

None
2018-09-17
20:36:47.560500
20:36:47.560500
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=17, tm_hour=20, tm_min=36, tm_sec=47, tm_wday=0, tm_yday=260, tm_isdst=-1)
1537187807.5605
Mon Sep 17 20:36:47 2018

4、timedelta类

时间加减(代表了两个datetime之间的时间差)

datetime.timedalta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0 ,hours=0,weeks=0)

在日期上做天,小时,分钟,秒,毫秒,微秒,周 的时间计算

  • 1毫秒转换为1000微秒

  • 1分钟转换为60秒

  • 1小时转换为3600秒

  • 1周转换为7天

其中,timedelta内部只存储 days,seconds,microseconds

方法与属性:

dt.year

dt.month

dt.day

dt.hour

dt.minute

dt.second

dt.microsecond subtle
dt.tzinfo 시간대 정보
# 🎜🎜 #
dt의 시간 개체 가져오기, tzinfo는 없음 #🎜🎜 #
dt의 시간 객체를 가져옵니다. tzinfo는 날짜 시간의 tzinfo#🎜🎜 # dt.replace()
매개변수 지정 대체(연도, 월, 일, 시, 분, 초, 미묘한, 시간대)는 새 객체를 생성하고 반환합니다. #
# 🎜🎜#UTC 시간에 해당하는 시간 튜플을 반환합니다(tzinfo 제외) dt.timestamp()
# 🎜🎜# dt.toordinal()#🎜🎜 #
# 🎜🎜#dt.weekday() #🎜 🎜#반환 날짜는 요일, [1, 7], 1은 월요일을 의미합니다(동일) 날짜 수업)
dt.isocalendar() Returns 형식(년, 월, 일)의 시간 튜플(날짜 클래스와 동일)
dt.isoformat()#🎜🎜 #
은 시간 모듈 ##🎜의 time.ctime (time.mktime(d.timetuple()))과 동일합니다. 🎜# 지정된 형식으로 시간 문자열을 반환합니다.
td.days 天(范围[-999999999,999999999])
td.seconds 秒(范围[0,86399])                                                                                                   
td.microseconds 微秒(范围[0,999999])
td.total_seconds() 以秒为单位返回该时间差

实现:

方法

m = datetime.datetime.now()
print(m)
l = m + datetime.timedelta(3)
print(l)
n = m + datetime.timedelta(hours=4)
print(n)
span = l-m
print(span)
print(span.total_seconds())

result

2018-09-17 16:38:43.021000
2018-09-20 16:38:43.021000
2018-09-17 20:38:43.021000
3 days, 0:00:00
259200.0

5、tzinfo时区类

 其中,tzinfo是一个抽象类,所以不能直接被实例化

 时间转换需要用datetime和pytz来转换时区

위 내용은 Python의 datetime 모듈 사용법 및 일반적인 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.