赞
踩
- object
- timedelta
- tzinfo
- timezone
- time
- date
- datetime
定义:
timedelta 对象表示两个 date 或者 time 的时间间隔(datetime是date的子类,包含在timedelta中了)
timedelta格式:
class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
这些参数可以使int,也可以是float,可以是正数,也可以是负数。
timedetla参数转换:
内部储存时,python会将各参数的值计算转换成days, seconds, microseconds三个参数。
示例:
from datetime import timedelta
a = timedelta(days = 5, seconds = 20, microseconds = 10, milliseconds = 39000, minutes = 5, hours = 10, weeks = 2)
a
# 返回
datetime.timedelta(days=19, seconds=36359, microseconds=10)
类属性:
timedelta计算:
定义: date类表示了一个包含了年、月、日信息的类。
date格式: date(year, month, day)
类属性:
date计算:
实例方法:
实例方法将一个date格式的日期如(datetime.date(2018, 9, 8))转化为str格式或tuple格式的日期
from datetime import date
# date是类名,a是对date这个类的调用,并输入参数。
a = date(2018,9,8)
a
# 返回
datetime.date(2018, 9, 8)
方法 | 释义 | 示例 | 返回 |
---|---|---|---|
ctime | 返回ctime()样式字符串 | a.ctime() | ‘Sat Sep 8 00:00:00 2018’ |
isocalendar | 返回一个年份,周号,工作日的元组 | a.isocalendar() | (2018, 36, 6) |
isoformat | 返回一个字符串格式的日期 | a.isoformat() | ‘2018-09-08’ |
isoweekday | 返回日期是星期几(周一返回1) | a.isoweekday() | 6 |
strftime(“str”) | 以字符串形式,返回一个指定的日期格式 | a.strftime(’%Y/%m/%d’) | ‘2018/09/08’ |
timetuple | 返回一个时间元组 | a.timetuple() | time.struct_time(tm_year=2018, tm_mon=9, tm_mday=8, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=251, tm_isdst=-1) |
weekday | 返回日期是星期几(周一返回0) | a.weekday() | 5 |
replace(year, month, day) | 替换一个日期,并根据关键字替换对应参数 | a.replace(day=1) | datetime.date(2018, 9,1) |
toordinal | 返回日期的格里高利序号 | a.toordinal() | 736695 |
方法 | 释义 | 示例 | 返回 |
---|---|---|---|
date.today | 返回本地的当前时间 | date.today() | datetime.date(2020, 8, 4) |
date.fromtimestamp ( timestamp) | 根据给出的时间戳参数,返回一个date日期 | date.fromtimestamp(1596547490) | datetime.date(2020, 8, 4) |
date.fromordinal | 按照格里高利序号,返回一个日期 | date.fromordinal(a.toordinal()) | datetime.date(2018, 9, 8) |
date.fromisoformat | 将一个“yyyy-mm-dd”格式转化为日期格式 | date.fromisoformat(‘2018-09-08’) | datetime.date(2018, 9, 8) |
定义: 代表了忽略了日期的本地时间,可以通过tzinfo参数来调整。
time格式: time ( hour, minute, second, microsecond, tzinfo, fold)
类属性:
time计算: time类无法进行算数运算。
实例属性:
实例方法:
创建一个time
from datetime import time
b=time(18,23,45)
b
# 返回
datetime.time(18, 23, 45)
方法 | 释义 | 示例 | 返回 |
---|---|---|---|
isoformat (timespec) | 返回一个字符串格式时间 | b.isoformat() | ‘18:23:45’ |
replace () | 替换一个时间,并根据关键字替换对应参数(可以通过tzinfo=None将感知型变为简单型) | b.replace(14,16,28) | datetime.time(14, 16, 28) |
strftime | 返回一个字符串类型的时间 | b.strftime(’%H-%M-%S’) | ‘18-23-45’ |
tzname | 返回时区的名字 | print(b.tzname()) | None |
utcoffset | 返回时区的偏移量 | print(b.utcoffset()) | None |
实例方法参数:
replace (hour, minute, second, microsecond, tzinfo, fold)
isoformat (timespec)
timespec可以选择以下内容:
定义: 包含了date 类和time 类所有信息的单一对象。
datetime格式: datetime ( year, month, day, hour, minute, second, microsecond, tzinfo)
datetime计算:
实例属性:
实例属性:
实例方法:
新建一个datetime对象
from datetime import datetime
dt = datetime(2018,1,1,12,30,30)
dt
# 返回
datetime.datetime(2018, 1, 1, 12, 30, 30)
from datetime import timedelta, timezone
dt1 = datetime (2019,1,1,10,30,30,tzinfo=timezone(timedelta(hours=8)))
dt1
# 返回
datetime.datetime(2019, 1, 1, 10, 30, 30, tzinfo=datetime.timezone(datetime.timedelta(seconds=28800)))
方法 | 释义 | 示例 | 返回 |
---|---|---|---|
date | 返回具有相同年、月、日的date对象 | dt_date = dt.date() | datetime.date(2018, 1, 1) |
time | 返回具有相同时、分、秒的time对象 | dt_time = dt.time() | datetime.time(12, 30, 30) |
timetz | 返回具有相同时、分、秒、tzinfo信息的感知性 time 对象 | dt1_timetz = dt1.timetz() | datetime.time(10, 30, 30, tzinfo=datetime.timezone(datetime.timedelta(seconds=28800))) |
replace() | 根据参数数据替换原datetime对象的相应部分 | dt_replace = dt.replace(day=10,hour=15) | datetime.datetime(2018, 1, 10, 15, 30, 30) |
astimezone ( tz ) | 返回一个具有新的 tzinfo 属性的datetime对象。tz参数可选 | dt1_astimezone = dt1.astimezone(tz=timezone(timedelta(hours=4))) | atetime.datetime(2019, 1, 1, 6, 30, 30, tzinfo=datetime.timezone(datetime.timedelta(seconds=14400))) |
utcoffset | 返回时区的偏移量 | dt1_utcoffset = dt1.utcoffset() | datetime.timedelta(seconds=28800) |
tzname | 返回tzinfo的名字 | dt1_tzname = dt1.tzname() | ‘UTC+08:00’ |
timetulpe | 返回一个时间元组 | dt_timetuple = dt.timetuple() | time.struct_time(tm_year=2018, tm_mon=1, tm_mday=1, tm_hour=12, tm_min=30, tm_sec=30, tm_wday=0, tm_yday=1, tm_isdst=-1) |
utctimetuple | 返回一个对应的UTC时间的时间元组,tm_isdst默认为0 | dt_utctimetuple = dt1.utctimetuple() | time.struct_time(tm_year=2019, tm_mon=1, tm_mday=1, tm_hour=2, tm_min=30, tm_sec=30, tm_wday=1, tm_yday=1, tm_isdst=0) |
timestamp | 返回一个时间戳,与tzinfo信息无关 | dt_timestamp = dt.timestamp() | 1514781030.0 |
isoformat (sep, timespec) | 返回一个ISO 8601 格式表示的日期和时间字符串 | dt_isoformat = dt.isoformat(sep=" " ,timespec=‘minutes’) | ‘2018-01-01 12:30’ |
ctime | 返回一个表示日期和时间的字符串 | dt_ctime = dt.ctime() | ‘Mon Jan 1 12:30:30 2018’ |
toordinal | 返回一个格里高利序号 | dt_toordinal = dt.toordinal() | 736695 |
weekday | 返回周号,周一记做0 | dt_weekday = dt.weekday() | 0 |
isoweekday | 返回周号,周一记做1 | dt_isoweekday = dt.isoweekday() | 1 |
isocalendar | 返回一个年份,周号,工作日的元组 | dt_isocalendar = dt.isocalendar() | (2018, 1, 1) |
实例方法参数:
类方法:
方法 | 释义 | 示例 | 返回 |
---|---|---|---|
today | 返回本地的当前时间 | dt= datetime.today() | 2020-08-10 22:38:06.955231 |
now ( tzinfo ) | 返回本地的当前时间,tzinfo可选(未指定时和today一样) | dt= datetime.now() | 2020-08-10 22:38:06.955231 |
utcnow | 返回当前utc的日期时间 | dt= datetime.utcnow() | 2020-08-10 14:38:06.955231 |
fromtimestamp ( timestamp, tzinfo ) | 将时间戳转换成本地日期和时间(tzinfo参数可选) | dt = datetime.fromtimestamp(1293856201.0) | datetime.datetime(2011, 1, 1, 12, 30, 1) |
utcfromtimestamp ( timestamp ) | 返回utc的datetime,结果为简单型 | dt = datetime.utcfromtimestamp(1293856201.0) | datetime.datetime(2011, 1, 1, 4, 30, 1) |
fromordinal ( ordinal ) | 返回格里高利序号对应的日期 | dt = datetime.fromordinal(735568) | datetime.datetime(2014, 12, 1, 0, 0) |
fromisoformat (date_string ) | 对 isoformat 进行逆操作,根据规定的字符串格式,返回一个datetime对象 | dt = datetime.fromisoformat(‘2015-12-01T12:30:30’) | datetime.datetime(2015, 12, 1, 12, 30, 30) |
combine ( date, time, tzinfo ) | 将日期,时间参数结合成datetime,tzinfo参数可选 | dt = datetime.combine(date(2015,12,1),time(12,30,30)) | datetime.datetime(2015, 12, 1, 12, 30, 30) |
定义: timezone类是tzinfo的一个子类,它的实例对象,通过计算与utc的时差,来定义一个时区。
timezone格式: :timezone ( offset , name)
实例方法:
from datetime import timezone,timedelta,time
a = timezone(timedelta(hours=8))
b = time (12,35,20,tzinfo=a)
b
# 返回
datetime.time(12, 35, 20, tzinfo=datetime.timezone(datetime.timedelta(seconds=28800)))
方法 | 释义 | 示例 | 返回 |
---|---|---|---|
utcoffset | 返回 time / datetime 实例的本地时间与utc的时间间隔 | b.utcoffset() | datetime.timedelta(seconds=28800) |
tzname | 返回time / datetime 实例的utc名称,默认utc | b.tzname() | ‘UTC+08:00’ |
定义:
比较描述:
strftime | strptime | |
---|---|---|
用法 | 根据参数,将datetime转化成一个字符串 | 将表示日期时间的字符串转化成datetime对象 |
方法类型 | 实例方法 | 类方法 |
适用类 | time、date、datetime | datetime |
格式 | strftime (format) | strptime (date_str, format) |
指令 | 含义 | 示例 |
---|---|---|
%a | 星期几的缩写 | sun,mon,sat |
%A | 星期几的全拼 | Sunday,Monday |
%w | 以0-6分别表示周一至周日 | 0, 1, …, 6 |
%u | 以1-7分别表示周一至周日 | 1, 2, …, 7 |
%U | 以两位数形式展示一年周周的序号(周日为第一天) | 00, 02, …, 53 |
%W | 以两位数形式展示一年周周的序号(周一为第一天) | 00, 02, …, 53 |
%d | 以两位数形式表示一月中日的序号 | 01, 02, …, 31 |
%j | 以三位数形式表示一年中日的序号 | 001, 002, …, 366 |
%b | 月份的缩写 | Jan, Feb, …, Dec |
%B | 月份的全拼 | January, February, …, December |
%m | 以两位数展现月份 | 01, 02, …,12 |
%y | 以两位数展现年份 | 00, 01, …,99 |
%Y | 以四位数展现年份 | 2000, 2001, …,2099 |
%H | 以两位数表示24小时制 | 00, 01, …,23 |
%I | 以两位数表示12小时制 | 01, 02, …,12 |
%p | 本地化的AM,PM | AM, PM |
%M | 以两位数显示分钟 | 00, 02, …,59 |
%S | 以两位数显示秒数 | 00, 02, …,59 |
%f | 以六位数显示微妙 | 000000, 000001, …, 999999 |
%z | UTC 偏移量,(简单型对象则为空字符串) | (空), +0000, -0400, +1030 |
%Z | 时区名称 | (空), UTC, EST, CST |
%c | 本地化的适当日期和时间表示 | Tue Aug 16 21:30:00 1988 |
%x | 本地化的适当日期表示 | 08/16/88 |
%X | 本地化的适当时间表示 | 21:30:00 |
%% | 字面的 ‘%’ 字符 | % |
标准格式:(自己命名的)
标准格式转字符串:
方法 | 释义 | 示例 | 适用范围 |
---|---|---|---|
ctime | 返回ctime()样式字符串 | a.ctime() | date、datetime |
isoformat | 返回一个字符串格式的日期 | a.isoformat() | date、datetime、time |
strftime | 根据参数,将datetime转化成一个字符串 | strftime (format) | date、datetime、time |
方法 | 释义 | 示例 | 适用范围 |
---|---|---|---|
fromisoformat | 将一个“yyyy-mm-dd”格式转化为日期格式 | date.fromisoformat(‘2018-09-08’) | date |
datetime.fromisoformat (date_string ) | 根据规定的字符串格式,返回一个datetime对象 | datetime.fromisoformat(‘2015-12-01T12:30:30’) | datetime |
strptime | 将表示日期时间的字符串转化成datetime对象 | strptime (date_str, format) | datetime |
方法 | 释义 | 示例 | 适用范围 |
---|---|---|---|
timestamp | 返回一个时间戳,与tzinfo信息无关 | dt.timestamp() | datetime |
方法 | 释义 | 示例 | 适用范围 |
---|---|---|---|
date.fromtimestamp ( timestamp) | 根据给出的时间戳参数,返回一个date日期 | date.fromtimestamp(1596547490) | date |
datetime.fromtimestamp ( timestamp, tzinfo ) | 将时间戳转换成本地日期和时间(tzinfo参数可选) | datetime.fromtimestamp(1293856201.0) | datetime |
datetime.utcfromtimestamp ( timestamp ) | 返回utc的datetime,结果为简单型 | datetime.utcfromtimestamp(1293856201.0) | datetime |
方法 | 释义 | 示例 | 适用范围 |
---|---|---|---|
timetuple | 返回一个时间元组 | a.timetuple() | date、datetime |
方法 | 释义 | 示例 | 适用范围 |
---|---|---|---|
date | 返回具有相同年、月、日的date对象 | dt.date() | datetime |
time | 返回具有相同时、分、秒的time对象 | dt.time() | datetime |
timetz | 返回具有相同时、分、秒、tzinfo信息的感知性 time 对象 | dt1.timetz() | datetime |
weekday | 返回日期是星期几(周一返回0) | a.weekday() | date、datetime |
isoweekday | 返回日期是星期几(周一返回1) | a.isoweekday() | date、datetime |
isocalendar | 返回一个年份,周号,工作日的元组 | a.isocalendar() | date、datetime |
toordinal | 返回日期的格里高利序号 | a.toordinal() | date、datetime |
方法 | 释义 | 示例 | 适用范围 |
---|---|---|---|
tzname | 返回时区的名字 | print(b.tzname()) | time、datetime |
utcoffset | 返回时区的偏移量 | print(b.utcoffset()) | time、datetime |
astimezone ( tz ) | 返回一个具有新的 tzinfo 属性的datetime对象。tz参数可选 | dt1_astimezone | time、datetime |
方法 | 释义 | 示例 | 适用范围 |
---|---|---|---|
date.today | 返回本地的当前时间 | date.today() | date |
datetime.today | 返回本地的当前时间 | datetime.today() | datetime |
datetime.now ( tzinfo ) | 返回本地的当前时间,tzinfo可选(未指定时和today一样) | datetime.now() | datetime |
datetime,utcnow | 返回当前utc的日期时间 | datetime.utcnow() | datetime |
方法 | 释义 | 示例 | 适用范围 |
---|---|---|---|
replace() | 根据参数数据替换原对象的相应部分 | dt.replace(day=10,hour=15) | date、datetime、time |
combine ( date, time, tzinfo ) | 将日期,时间参数结合成datetime,tzinfo参数可选 | datetime.combine(date(2015,12,1),time(12,30,30)) | datetime |
date.fromordinal | 按照格里高利序号,返回一个日期 | date.fromordinal(a.toordinal()) | date |
datetime.fromordinal ( ordinal ) | 按照格里高利序号,返回一个日期时间 | datetime |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。