datetime

naive aware
对于datetime.datetime和datetime.time类型才有aware对象
最佳实践:都先使用utc时间,之后返回给页面有要求时再转换为本地时间

datetime.datetime.now(datetime.timezone.utc)

datetime中的date部分、time部分,是理想化的表示,始终存在
timedelta代表时差,tzinfo代表时区(该类为抽象类,应使用timezone)

timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

接受的参数最终会转化为 days seconds microseconds

date

-- 类方法 --

date(year, month, day)

today

fromtimestamp

返回的是本地时间

fromordinal

fromisoformat YYYY-MM-DD

-- 对象方法 --

replace

timetuple

toordinal

weekday

isoweekday

isocalendar

isoformat YYYY-MM-DD

ctime

strftime

datetime

datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

year month day 必填

在创建时提供时区tzinfo信息的,最好只使用utc,使用其他timezone会造成问题

类方法

today now

返回本地时间 naive
now函数另可接收tz,此时返回的是aware

utcnow

返回当前的utc时间 naive

fromtimestamp(timestamp, tz=None)

返回本地时间 naive
另可接收tz,此时返回的是aware

utcfromtimestamp

返回utc时间 naive

fromordinal

combine

fromisoformat YYYY-MM-DD[*HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]]

strptime

对象方法

date

time

timetz

replace(year=self.year, month=self.month, day=self.day, hour=self.hour, minute=self.minute, second=self.second, microsecond=self.microsecond, tzinfo=self.tzinfo, * fold=0)

astimezone

会转换日期,如果调用者是naive,视为本地时间

utcoffset

dst

tzname

timetuple

utctimetuple

toordinal

timestamp

weekday

isoweekday

isocalendar

isoformat

ctime

strftime

time

time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)

time.fromisoformat

对象方法

replace

isoformat

strftime

utcoffset

dst

tzname

tzinfo

utcoffset

dst

tzname

fromutc

timezone

timezone(offset, name=None)

你可能感兴趣的:(datetime)