14分钟
datetime 模块2
4. datetime.datetime
的构造函数为:
datetime.datetime(year, month, day, hour=0, minute=0,
second=0, microsecond=0, tzinfo=None)
类方法有:
datetime.today()
:返回当前的时间日期datetime.now(tz=None)
:返回指定时区当前的时间日期。如果tz=None
,则等价于datetime.today()
datetime.utcnow()
:返回当前的UTC
时间日期datetime.fromtimestamp(timestamp, tz=None)
:根据时间戳,创建指定时区下的时间日期。datetime.utcfromtimestamp(timestamp)
:根据时间戳,创建UTC
下的时间日期。datetime.combine(date, time)
:从date
和time
对象中创建datetime
datetime.strptime(date_string, format)
:从字符串中创建datetime
属性有:year/month/day/hour/minute/second/microsecond/tzinfo
方法有:
- 运算:
datetime1-datetime2
、datetime1+timedelta
、datetime1-timedelta
、datetime1<datetime2
datetime.date()
:返回一个date
对象datetime.time()
:返回一个time
对象(该time
的tzinfo=None
)datetime.timetz()
:返回一个time
对象(该time
的tzinfo
为datetime
的tzinfo
)datetime.replace([year[, month[, day[, hour[, minute[, second
[, microsecond[, tzinfo]]]]]]]])
:替换掉指定值,返回新对象datetime.astimezone(tz=None)
:调整时区。如果tz=None
,则默认采用系统时区。注意,调整前后的UTC
时间是相同的。datetime.tzname()
:返回时区名字datetime.timetuple()
:返回一个time.struct_time
这样的命名元组datetime.utctimetuple()
:返回一个time.struct_time
这样的命名元组,注意它是在UTC
时间下的,而不是local time
下的datetime.timestamp()
:返回一个时间戳datetime.weekday()
:返回代表星期几的数字。0
为周日datetime.isoweekday()
:返回代表星期几的数字。7
为周日datetime.isocalendar()
:返回一个元组(ISO year,IOS week num,ISO weekday)
datetime.isoformat(sep='T')
:返回一个ISO 8601
格式的字符串。datetime.ctime()
:等价于time.ctime(time.mktime(d.timetuple()))
datetime.strftime(format)
:格式化datetime.datetime
对象。
注意:不能将tzinfo=None
和tzinfo!=None
的两个datetime
进行运算。
5. 下面是常用的格式化字符串的定义:
'%Y'
:4位数的年'%y'
:2位数的年'%m'
:2位数的月[01,12]
'%d'
:2位数的日[01,31]
'%H'
:小时(24小时制)[00,23]
'%I'
:小时(12小时制)[01,12]
'%M'
:2位数的分[00,59]
'%S'
:秒[00,61]
,61
秒用于闰秒'%w'
:用整数表示的星期几[0,6]
,0 表示星期日'%U'
:每年的第几周[00,53]
。星期天表示每周的第一天。每年的第一个星期天之前的那几天被认为是第 0 周'%W'
:每年的第几周[00,53]
。星期一表示每周的第一天。每年的第一个星期一之前的那几天被认为是第 0 周'%z'
:以+HHMM
或者-HHMM
表示的UTC
时区偏移量。如果未指定时区,则返回空字符串。'%F'
:以%Y-%m-%d
简写的形式'%D'
:以%m/%d/%y
简写的形式'%a'
:星期几的简称'%A'
:星期几的全称'%b'
:月份的简称'%B'
:月份的全称'%c'
:完整的日期和时间'%q'
:季度[01,04]
6. timedelta
代表一段时间。其构造:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0,
minutes=0, hours=0, weeks=0)
在内部,只存储秒、微秒。其他时间单位都转换为秒和微秒。
实例属性(只读):
days/seconds/microseconds
实例方法:
timedelta.total_seconds()
:返回总秒数。
学员评价