当前位置:
首页 > temp > 简明python教程 >
-
Python学习笔记:Python的时间操作(time,datetime,timedelta,calendar)(2)
>>> from datetime import datetime
>>> datetime.fromisoformat('2011-11-04')
datetime.datetime(2011, 11, 4, 0, 0)
>>> datetime.fromisoformat('2011-11-04T00:05:23')
datetime.datetime(2011, 11, 4, 0, 5, 23)
>>> datetime.fromisoformat('2011-11-04 00:05:23.283')
datetime.datetime(2011, 11, 4, 0, 5, 23, 283000)
>>> datetime.fromisoformat('2011-11-04 00:05:23.283+00:00')
datetime.datetime(2011, 11, 4, 0, 5, 23, 283000, tzinfo=datetime.timezone.utc)
>>> datetime.fromisoformat('2011-11-04T00:05:23+04:00')
datetime.datetime(2011, 11, 4, 0, 5, 23,
tzinfo=datetime.timezone(datetime.timedelta(seconds=14400)))
类方法datetime.
fromisocalendar
(year, week, day):提供年、该年第几个星期、该星期几日,返回一个datetime对象,这是函数 datetime.isocalendar()
的逆操作,比如:datetime.
fromisocalendar
(2000, 1, 1),返回:2000-01-03 00:00:00
类方法datetime.
strptime
(date_string, format):字符串转datetime对象。比如:
>>>datetime.strptime("2001-01-01", "%Y-%m-%d")
2001-01-01 00:00:00
>>># 等价于下面的写法,这里将time和datetime对象串联起来了
>>>print(datetime(*(time.strptime("2001-01-01", "%Y-%m-%d")[0:6])))
2001-01-01 00:00:00
对象方法datetime.
date
():返回具有同样 year, month 和 day 值的 date
对象。比如:print(datetime.now().date()),返回:2020-04-15datetime.
time
():返回具有同样 hour, minute, second, microsecond 和 fold 值的 time
对象。比如:print(datetime.now().time()),返回:15:52:16.589417datetime.
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):替换年月日时分秒微秒并且返回一个新的datetime类型,需要注意的是,这个函数是会识别闰年的,如下:
>>>d1 = datetime(2020,2,29) #2020年为闰年2月有29天
>>>print(d1)
>>>print(datetime.replace(d1,year=d1.year+5)) #如果加5年也就是2025年不是闰年,则2月没有29天,会报错!
结果:ValueError: day is out of range for month
对象方法datetime.
astimezone
(tz=None):返回一个新时区的datetime类型。datetime.
timetuple
():返回一个time.struct_time类型。
datetime.
toordinal
():返回datetime从公元1年1月1日开始的天数。比如:print(datetime.now().toordinal()),返回:737530datetime.
timestamp
():返回datetime的时间戳datetime.
isoweekday
():返回星期几datetime.
isocalendar
():返回一个 3 元组 (ISO 年份, ISO 周序号, ISO 周日期)。 等同于 self.date().isocalendar()
。datetime.
isoformat():返回ISO格式的日期UTC字符串(日期和时间中间用T割开,如果不想有符号间隔可以用isoformat(" ")),d1.__str__()等价于d1.isoformat(" ")等价于str(d1)
datetime.
ctime
():返回一个表示日期和时间的字符串,比如:print(d1.ctime()),返回:Sat Feb 29 10:02:02 2020datetime.
strftime
(format):返回格式字符串所指明的代表日期和时间的字符串,格式字符串如上图<图3>