PYTHON的日期和时间

PYTHON的日期和时间

(一)time模块

引入time模块
>>> import time
time.time()
>>> time.time()
1558488465.0358229
time.localtime()
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=5, tm_mday=22, tm_hour=9, tm_min=30, tm_sec=32, tm_wday=2, tm_yday=142, tm_isdst=0)

tm_year 公元纪年

tm_mon 月份

tm_mday 日期

tm_hour 小时

tm_min 分钟

tm_sec 秒

tm_wday 星期

tm_yday 一年中第几天

tm_isdst 是否是夏令时

time.localtime(0)

括号里的0 1970年1月1日

>>> time.localtime(0)
time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
python中时间日期格式化符号:
%y 两位数的年份表示(00-99%Y 四位数的年份表示(000-9999%m 月份(01-12%d 月内中的一天(0-31%H 24小时制小时数(0-23%I 12小时制小时数(01-12%M 分钟数(00=59%S 秒(00-59%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身

常用'%Y %m %d %H:%M:%S'
time.strftime(’ ',t) 格式化时间
>>> t=time.localtime(1445416140)
>>> t
time.struct_time(tm_year=2015, tm_mon=10, tm_mday=21, tm_hour=16, tm_min=29, tm_sec=0, tm_wday=2, tm_yday=294, tm_isdst=0)

>>> s=time.strftime('%a %b %d %I:%M%p %Y',t)
>>> s
'Wed Oct 21 04:29PM 2015'
time.strftime(s,’ ') 结构化时间
>>> time.strptime(s,'%a %b %d %I:%M%p %Y')
time.struct_time(tm_year=2015, tm_mon=10, tm_mday=21, tm_hour=16, tm_min=29, tm_sec=0, tm_wday=2, tm_yday=294, tm_isdst=-1)

tm_isdst=-1 表示该位未知

其它还有:

asctime()函数
ctime() 函数

输入格式化时间

mktime() 函数

结构体时间转换成时间戳

(二)datetime模块

导入模块
>>> import datetime
1.date类型

year 年

month 月

day 日

datetime.date.today()
>>> import datetime
>>> datetime.date.today()
datetime.date(2019, 5, 22)

>>> d=datetime.date.today()
>>> d
datetime.date(2019, 5, 22)
>>> d.year
2019
>>> d.month
5
>>> d.day
22

#直接从datetime模块中引入date类型
>>> from datetime import date
>>> date.today()
datetime.date(2019, 5, 22)
>>> d=date.today()
>>> d
datetime.date(2019, 5, 22)
>>> d.year
2019
>>> d.month
5
>>> d.day
22
d.timetuple() 结构化
>>> d.timetuple()
time.struct_time(tm_year=2019, tm_mon=5, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=142, tm_isdst=-1)
weekday()

日期是星期几 0是星期一

isoweekday()

标准的星期几 1是星期一

strftime()

日期格式化成字符串

date.fromtimestamp(ts)

时间戳转换成2018,3,31

>>> import time
>>> ts=time.time()
>>> ts
1558521201.3487425
>>> date.fromtimestamp(ts)
datetime.date(2019, 5, 22)
2.time类型

hour 小时

minute 分钟

second 秒

microsecond 微秒

datetime.time(10, 24, 5, 12)
>>> from datetime import time
>>> t = time(10,24,5,12)
>>> t
datetime.time(10, 24, 5, 12)
>>> t.hour
10
>>> t.minute
24
>>> t.second
5
>>> t.microsecond
12
3.datetime类型
datetime.now()

创建datetime类型的对象

year 年

month 月

day 日

hour 小时

minute 分钟

second 秒

>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2019, 5, 22, 18, 51, 58, 445775)
datetime.timedelta(1,13220,995590)

days 天数

seconds 不足一整天的秒数

microseconds 不足一秒的毫秒数

>>> d
datetime.date(2019, 5, 22)

>>> d1=datetime.now()
>>> d1
datetime.datetime(2019, 5, 22, 19, 0, 3, 294741)

>>> d2=datetime.combine(d,t)
>>> d2
datetime.datetime(2019, 5, 22, 10, 24, 5, 12)

>>> td=d1-d2
>>> td
datetime.timedelta(seconds=30958, microseconds=294729)
>>> td.days
0
>>> td.seconds
30958
>>> td.microseconds
294729
4.timedelta类型 时间日期加减
>>> from datetime import timedelta

>>> timedelta(weeks=1)
datetime.timedelta(days=7)

>>> timedelta(days=1,hours=12)
datetime.timedelta(days=1, seconds=43200)

>>> timedelta(days=1.5)
datetime.timedelta(days=1, seconds=43200)

>>> today=datetime.now()
>>> today
datetime.datetime(2019, 5, 22, 19, 15, 1, 174558)

>>> tomrrow=today+timedelta(days=1)
>>> tomrrow
datetime.datetime(2019, 5, 23, 19, 15, 1, 174558)
5.tzinfoleix 类型
6.timezone 类型

(三)calendar模块

calendar.weekday()

一个日期是星期几 0-6

>>> import calendar
>>> calendar.weekday(year=2018,month=3,day=12)
0
calendar.isleap(2018)

判断闰年

>>> calendar.isleap(2018)
False
calendar.monthrange()

一个月的第一天是星期几,这个月的天数

>>> calendar.monthrange(year=2018,month=3)
(3, 31)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值