Python手册(Standard Library)--datetime+time+calendar


Python 程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能。
Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
时间间隔是以秒为单位的浮点小数。
每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。

datetime

datetime模块定义了6个类
datetime.date表示日期的类
datetime.datetime表示日期时间的类
datetime.time表示时间的类
datetime.timedelta表示时间间隔
datetime.tzinfo时区的相关信息
datetime.timezone将tzinfo抽象基类实现为UTC固定偏移量的类
from datetime import date,datetime,time,timedelta

datetime.timedelta

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
属性read-only
daysBetween -999999999 and 999999999 inclusive
secondsBetween 0 and 86399 inclusive
microsecondsBetween 0 and 999999 inclusive
方法
total_seconds()返回持续时间中包含的总秒数

datetime.date

date(year,month,day)返回 ‘year-month-day’
date.today()返回today(datetime.date类)
date.fromtimestamp(timestamp)由时间戳转化
date.fromordinal(ordinal)

timestamp(时间戳)是指格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。

属性read-only
date.yearBetween MINYEAR and MAXYEAR inclusive.
date.monthBetween 1 and 12 inclusive.
date.dayBetween 1 and the number of days in the given month of the given year.

运算

date2 = date1 + timedelta
date2 = date1 - timedelta
timedelta = date1 - date2
date1 < date2	
方法说明
replace(year=self.year, month=self.month, day=self.day)替换给定日期,但不改变原日期
timetuple()返回 time.struct_time对象(时间元祖)
toordinal()回归原始日期
weekday()Return the day of the week as an integer, where Monday is 0 and Sunday is 6
isoweekday()Return the day of the week as an integer, where Monday is 1 and Sunday is 7
isocalendar()Return a 3-tuple, (ISO year, ISO week number, ISO weekday)
isoformat()Return a string ‘YYYY-MM-DD’
ctime()return a string (date(2002, 12, 4).ctime() == 'Wed Dec 4 00:00:00 2002')
strftime(format)返回指定格式字符

datetime.datetime

datetime(year, month, day, hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0) 
创建说明
datetime.today()返回当天date
datetime.now()返回当前系统时间
datetime.fromtimestamp(timestamp, tz=None)根据时间戮返回datetime对象
datetime.fromordinal(ordinal)
datetime.combine(date, time, tzinfo=self.tzinfo)date对象和time对象组合成新的datetime对象
datetime.strptime(date_string, format)字符串格式创建
datetime.strftime()转换为字符格式
属性(read-only)
yearBetween MINYEAR and MAXYEAR inclusive.
monthBetween 1 and 12 inclusive.
dayBetween 1 and the number of days in the given month of the given year.
hourIn range(24).
minuteIn range(60).
secondIn range(60).
microsecondIn range(1000000).(微秒)
tzinfo时区
fold

运算

datetime2 = datetime1 + timedelta
datetime2 = datetime1 - timedelta
timedelta = datetime1 - datetime2
datetime1 < datetime2
方法说明
date()返回date对象
time()返回time对象
replace()替换
ctime()返回格式如 Sun Apr 16 00:00:00 2017
timetuple()返回time.struct_time对象
utctimetuple()
toordinal()
timestamp()返回时间戳(float)
weekday()Monday is 0 and Sunday is 6
isoweekday()Monday is 1 and Sunday is 7
isocalendar()Return a 3-tuple, (ISO year, ISO week number, ISO weekday)
isoformat(sep=‘T’, timespec=‘auto’)Return a string ‘YYYY-MM-DDTHH:MM:SS.mm’
ctime()return a string (‘Wed Dec 4 20:30:40 2002’)
strftime(format)由日期格式转化为字符串格式

关于时区的方法暂时不计入

datetime.time

time(hour=0, minute=0, second=0, microsecond=0, tzinfo=None, *, fold=0)
属性(read-only)
hourIn range(24).
minuteIn range(60).
secondIn range(60).
microsecondIn range(1000000).
tzinfo
fold
方法说明
replace()
isoformat(timespec=‘auto’)
strftime(format)转字符格式
tzname()返回时区名字
utcoffset()返回时区的时间偏移量
dst()

python中时间日期格式化符号

格式说明Example
%a周日期缩写Sun, Mon, …, Sat (en_US);
%A周日期全称Sunday, Monday, …, Saturday (en_US);
%w周数字0, 1, …, 6
%d月中天数01, 02, …, 31
%b月份缩写Jan, Feb, …, Dec (en_US);
%B月份全称January, February, …, December (en_US);
%m月份数字01, 02, …, 12
%y年数字,两位00, 01, …, 99
%Y年数字,四位0001, 0002, …, 2013, 2014, …, 9998, 9999
%H24小时制00, 01, …, 23
%I12小时制01, 02, …, 12
%pAM or PMAM, PM (en_US);
%M分钟00, 01, …, 59
%S00, 01, …, 59
%f微秒000000, 000001, …, 999999
%zUTC offset in the form +HHMM or -HHMM(empty), +0000, -0400, +1030
%Z时区名(empty), UTC, EST, CST
%j年中的天数001, 002, …, 366
%U年中的周日期(周日为第一天)00, 01, …, 53
%W年中的周日期(周一为第一天)00, 01, …, 53
%cdate and timeTue Aug 16 21:30:00 1988 (en_US);
%xdate08/16/88 (None)
08/16/1988 (en_US)
%Xtime21:30:00 (en_US);
%%%'字符%
%GISO 8601 year0001, 0002, …, 2013, 2014, …, 9998, 9999
%uISO 8601 weekday1, 2, …, 7
%VISO 8601 week01, 02, …, 53

time

函数
time.clock()用CPU花费的时间(秒)
time.sleep(secs)

time.struct_time(时间戳类)

属性说明
tm_yearyyyy
tm_mon1 到 12
tm_mday1 到 31
tm_hour0 到 23
tm_min0 到 59
tm_sec0 到 61 (60或61 是闰秒)
tm_wday0到6 (0是周一)
tm_yday1 到 366
tm_isdst1(夏令时)0(不是夏令时)-1(未知)

calendar

星期一是默认的每周第一天,星期天是默认的最后一天。更改设置需调用calendar.setfirstweekday()函数。

calendar函数
calendar.calendar(year,w=2,l=1,c=6)年日历
calendar.firstweekday()返回当前每周起始日期的设置
calendar.month(year,month)月日历
calendar.isleap(year)是否闰年
calendar.leapdays(y1,y2)返回在Y1,Y2两年之间的闰年总数
calendar.monthrange(year, month)Returns weekday of first day of the month and number of days in month
calendar.weekday(year,month,day)Returns the day of the week (0 is Monday)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值