黑马程序员技术交流社区
标题:
【上海校区】常用的时间格式转化字符串
[打印本页]
作者:
范志远
时间:
2018-10-27 10:20
标题:
【上海校区】常用的时间格式转化字符串
本帖最后由 范志远 于 2018-10-27 15:51 编辑
1、当前时间转换为字符串
>>> import datetime
>>> datetime.datetime.now().strftime("%Y-%m%d-%H%M%S")
'2016-1024-142732'
>>> ''.join(str(datetime.date.today()- datetime.timedelta(1)).split('-'))
'20161023'
>>>
2、字符串转换为时间
>>> dt = datetime.datetime.strptime("2016-1024-142732","%Y-%m%d-%H%M%S")
>>> print dt,type(dt)
2016-10-24 14:27:32 <type 'datetime.datetime'>
>>>
3、创建时间格式
>>> dt1
datetime.datetime(2016, 10, 24, 14, 52, 34, 341000)
>>> dt = datetime.datetime(2016,10,11,12,13,14,15)
>>> dt
datetime.datetime(2016, 10, 11, 12, 13, 14, 15)
>>> dt1-dt
datetime.timedelta(13, 9560, 340985)
>>> print dt1-dt
13 days, 2:39:20.340985
>>>
4、时间加减 timedelta
>>> dt = datetime.date.today()
>>> dt
datetime.date(2016, 10, 24)
>>> dt = dt + datetime.timedelta(2)
>>> dt
datetime.date(2016, 10, 26)
>>> dt = datetime.datetime.now()
>>> dt
datetime.datetime(2016, 10, 24, 14, 48, 44, 594000)
>>> dt = dt + datetime.timedelta(days = 1,microseconds = 999,milliseconds = 999,minutes = 59,hours=23,weeks=1)
>>> dt
datetime.datetime(2016, 11, 2, 14, 47, 45, 593999)
>>> dt1 = datetime.datetime.now()
>>> dt1
datetime.datetime(2016, 10, 24, 14, 52, 34, 341000)
>>> (dt-dt1).total_seconds()
777311.252999
>>>
"""
timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])
"""
5、UTC时间
>>> datetime.datetime.utcnow()
datetime.datetime(2016, 10, 24, 7, 8, 4, 860000)
>>>
6、一些用法
datetime.datetime(2016, 10, 24, 15, 11, 58, 836000)
>>> print dt
2016-10-24 15:11:58.836000
>>> print dt.timetuple()
time.struct_time(tm_year=2016, tm_mon=10, tm_mday=24, tm_hour=15, tm_min=11, tm_sec=58, tm_wday=0, tm_yday=298, tm_isdst=-1)
>>> print dt.date()
2016-10-24
>>> print dt.time()
15:11:58.836000
>>> print dt.weekday() //0是星期一
0
>>> print dt.isoweekday()//1是星期一
1
>>> print dt.replace(month=1)
2016-01-24 15:11:58.836000
>>>
"""
转成字符串
%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 当前时区的名称
%% %号本身
from datetime import datetime,date,timedelta
now = datetime.now();
nextDay = now + timedelta(days = 1);#增加一天后的时间
nextSecond = now + timedelta(seconds = 1);#增加一秒后的时间
span = now - nextDay;#获取时间差对象
print(now);
print(nextDay);
print(nextSecond);
print(span.total_seconds());#获取时间差 以秒为单位
作者:
不二晨
时间:
2018-10-31 14:32
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2